小数据池 1. id() 通过id()可以查看到一个变量表示的值在内存中的地址 s = "Agoni" print(id(s)) # 2410961093272 2. is 和 == == 判断左右两端的值是否相等,是不是一致 is 判断左右两端的内存地址是否一致,如果返回True 可以确定这两个变量使用的是同一个对象 在Python中,默认会把数字, 字符串, 布尔值进行缓存 1. 当我们在控制台时(CMD) #按照这个记 数字: -5 ~ 256 之间的整数会被缓存 字符串: 长度…
1.小数据池. 目的:缓存我们的字符串,整数,布尔值.在使用的时候不需要创建过多的对象 缓存: int str bool int 范围:-5~256 str: 1.长度小于等于1,直接缓存 2.长度大于1.字符串中如果只有数字,字母,下划线.就会缓存 3.乘以1. 同上,乘以大于1的数,仅包含数字,字母下划线.最终长度小于20会缓存 4.使用sys模块中的intern缓存字符串.手动指定缓存 from sys import intern intern() 指定缓存的内容 代码块关系:如果在同一个…
一.代码块.if True: print(333) print(666) while 1: a = 1 b = 2 print(a+b) for i in '12324354': print(i) 虽然上面的缩进的内容都叫代码块,但是他不是python中严格定义的代码块.python中真正意义的代码块是什么? 块是一个python程序的文本,他是作为一个单元执行的.代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块. 而对于一个文件中的两个函数,也分别是两个不同的代码块: def fu…
主要内容 小数据池,is和==区别 编码问题 小数据池 一种缓存机制,也称为驻留机制,是为了能更快提高一些字符串和整数的处理速度is 和 == 的区别 == 主要指对变量值是否相等的判断,只要数值相同一定为真 is 主要是对变量内存地址是否相同的判断,变量值相同不一定为真,但是变量内存地址相同,则变量一定相同. tips:可通过id()来查询变量id why: 1.为什么会存在不同变量共用一个内存地址的情况?1.前面说到的小数据池,即缓存.一部分字符串会被放在缓存中被公用,以提高处理速度 why…
一.代码块.if True: print(333) print(666) while 1: a = 1 b = 2 print(a+b) for i in '12324354': print(i) 虽然上面的缩进的内容都叫代码块,但是他不是python中严格定义的代码块.python中真正意义的代码块是什么? 块是一个python程序的文本,他是作为一个单元执行的.代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块. 而对于一个文件中的两个函数,也分别是两个不同的代码块: def fu…
一,id,is,== 在Python中,id是什么?id是内存地址,比如你利用id()内置函数去查询一个数据的内存地址: name = '太白' print(id(name)) # 1585831283968 那么 is 是什么? == 又是什么? == 是比较的两边的数值是否相等,而 is 是比较的两边的内存地址是否相等. 如果内存地址相等,那么这两边其实是指向同一个内存地址. 可以说如果内存地址相同,那么值肯定相同,但是如果值相同,内存地址不一定相同. 二,代码块. 根据官网提示我们可以获知…
一.小数据池 参考 目的:缓存我们字符串,整数,布尔值.在使用的时候不需要创建过多的对象 缓存: int, str, bool int: 缓存范围 -5~256 str: 1. 长度小于等于1,直接缓存 2. 长度大于1. 字符串中如果只有数字, 字母, 下划线. 就会缓存 3. 乘以1. 同上, 乘以大于1的数.仅包含数字,字母下划线.最终长度小于等于20会缓存 4. 使用sys模块中的intern()缓存字符串 代码块的关系:如果在同一个代码块中.默认的整数和字符串还有布尔值都会进行缓存.…
一 . 小数据池 # 小数据池针对的是: 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. 小数据池 一种数据缓存机制,也被称为驻留机制 小数据池针对的是:整数 , 字符 , 布尔值 .其他的数据类型不存在驻留机制 在python中对 -5 到256之间的整数会被驻留在内存中, 将一定规则的字符串缓存. 在使用的时候, 内存中只会创建一个该数据的对象.保存在小数据池中.当使用的时候直接从小数据池中获取对象的内存引用.而不需要创建 一个新的数据,这样会节省更多的内存区域 优点: 能够提高一些字符串,整数的处理速度.省略创建对象的过程 缺点: 在池中创建或者插入新的内容会花费更多的时…
1.小数据池和代码块 # 小数据池 -- 缓存机制(驻留机制) # == 判断两边内容是否相等 # a = 10 # b = 10 # print(a == b) # is 是 # a = 10 # b = 10 # print(a is b) is判断基于内存地址进行判断 # print(id(a)) # print(id(b)) # 小数据池的数字范围: -5 ~ 256 # a = -2.5 * 2 # b = -2.5 * 2 # print(id(a)) # print(id(b))…