Python 再谈字符串】的更多相关文章

字符串除了要用引号来创建之外,其他和元组一样,不能修改,如果要修改只能用切片或者拼接的方式. 其他的什么乱七八糟的运算符都一样 一些不同 capitalize()-将字符串的第一个字母大写 str1.capitalize() casefold()-将字符串的所有字母小写 str1.casefold() center(width)-将字符串居中,并用空格填充至长度为width的字符串 str1.center(40) count(x,l,r)-统计x在[l,r]区间内出现的次数,l,r可不填 str…
[字符串算法1] 字符串Hash(优雅的暴力) [字符串算法2]Manacher算法 [字符串算法3]KMP算法 这里将讲述  [字符串算法1] 字符串Hash 老版原文: RK哈希(Rabin_Karp 哈希) 仅仅具有参考价值 新版题目:[字符串算法1] 再谈字符串Hash(优雅的暴力) 概念 - 什么是字符串Hash? - 就是把字符串映射成一个数字使每个字符串的映射结果不一样(把字符串有效的转化为数字) 对字符进行映射 对一个字符进行唯一编码,如A-->1,B-->2,C-->3…
再谈变量作用域与变量引用 by:授客 QQ:1033553122 module3.py #!/usr/bin/env python # -*- coding:utf-8 -*-   __author__ = 'shouke'   var = 'var_in_module3'   module2.py #!/usr/bin/env python # -*- coding:utf-8 -*-   __author__ = 'shouke' from module3 import var   clas…
CLR自动维护一个称为"内置池"(暂存池)(intern pool)的表,在编译时此表包含程序中声明的每个唯一的字符串常量的单个实例,以及以编程方式创建的String类的任何唯一实例. 内置池被实现为散列表.使用散列表即表示,一个字符串可以通过一个数字或"散列码"来表示.这样比较和搜索字符串就非常有效,因为这不是逐个字符比较字符串,而仅仅比较散列值. 内置池节省字符串存储空间.如果将一个字符串常量赋给几个变量,则每一个变量引用内置池中相同的常量,而不是引用具有相同值…
本博文通过对以下链接进行理解后,编写. https://stackoverflow.com/questions/100003/what-are-metaclasses-in-python 1. 类 类也是对象,具有对象的特点: 你可以将它赋值给变量 你可以copy它 你可以给它添加属性 你可以把它作为函数参数进行传递 类定义语法: class Foo(object): pass 说明: 1. 这是一种语法糖,一种对类对象的声明方式,与def func, a = 123, 本质上没有区别,都是为了…
参考链接:https://stackoverflow.com/questions/739654/how-to-make-a-chain-of-function-decorators 1. 函数对象 能够赋值给其他变量 能够在另外函数内定义 能够作为参数进行传递 能够作为函数的返回值 def firstLevel(f_arg): # 作为参数,可以赋值 def tmp_func(*args, **kwargs): # 可以在另外函数内定义 # do something ... ret = f_ar…
小数据池 1. id() 通过id()可以查看到一个变量表示的值在内存中的地址 s = "Agoni" print(id(s)) # 2410961093272 2. is 和 == == 判断左右两端的值是否相等,是不是一致 is 判断左右两端的内存地址是否一致,如果返回True 可以确定这两个变量使用的是同一个对象 在Python中,默认会把数字, 字符串, 布尔值进行缓存 1. 当我们在控制台时(CMD) #按照这个记 数字: -5 ~ 256 之间的整数会被缓存 字符串: 长度…
1.对象魔法 在面对对象编程中,术语对象大致意味着一系列数据(属性)以及一套访问和操作这些数据的方法. 使用对象而非全局变量以及函数的原因有多个,而最重要的好处不过以下几点: 多态:可对不同类型的对象执行相同的操作,而这些操作全部能够正常运行. 封装:对外部隐藏有关对象工作的具体细节. 继承:可基于通用类创建专用类. 1.1多态 术语多态源于希腊语,意思是有多种形态,这大致意味着即使你不知道变量指向的是哪个对象,也能够对其执行操作,且操作的行为随着对象所属的类型(类)而异. 1.2多态和方法 >…
一 . 小数据池 # 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. # id() 查看变量的内存地址 s = 'attila' print(id(s)) 二 .is 和 == # is和==的区别 is 比较的是内存地址 == 比较的是内容 当两个变量指向同一个对象的时候. is是True, ==也是True 三 .再谈编码 1. ascii. 有: 数字, 字母, 特殊字符. 8bit 1byte 128 最前面是0 2. gbk. 包含: asci…
---恢复内容开始--- 1. 小数据池, id() 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. id() 查看变量的内存地址 # a = 10 # b = 30 # print(id(a)) # 1515545088 # print(id(b)) # 1515545728 2. is和==的区别 is 比较的是内存地址 == 比较的是内容 当两个变量指向同一个对象的时候. is是True, ==也是True 3. 再谈编码    回顾:    1.…