06_python_小数据池/ is == /编码】的更多相关文章

一.小数据池 1.代码块 python程序是由代码块构成的.一个代码块的文本作为python程序执行的单元.代码块: 一个模块, 一个函数, 一个类, 甚至每一个command命令都是一个代码块. 一个文件也是一个代码块, eval()和exec()执行的时候也是一个代码块.   2.小数据池:一种数据缓存机制,也被成为驻留机制,它只针对整数.字符串.布尔值(不可变)其他数据类型不存在驻留机制. 在python中对-5 ~256之间的整数会被驻留在内存中,将一定规则的字符串缓存,在使用的时候,内…
目录 1. id 和 == 2. 小数据池 3. 编码和解码 1. id 和 == id:id是一个内置的函数,可以查看变量存放的内存地址(实际上不是真正的物理地址,这里暂时这样理解),用于判断是变量否属指向了同一块内存地址 ==:== 可以用于判断两个变量的值是否相等,这个在之前的例子中也有用过 下面来看几个例子,以及具体的使用方法: In [1]: a = 'abc' In [2]: b = 'abc' In [3]: a == b Out[3]: True In [4]: a is b O…
⼀. ⼩数据池 在说⼩数据池之前. 我们先看⼀个概念. 什么是代码块: 根据提示我们从官⽅⽂档找到了这样的说法: A Python program is constructed from code blocks. A block is a piece of Python program text that is executed as a unit. The following are blocks: a module, a function body, and a class definiti…
一.id与小数据池 id:查的是内存地址 a = 100 b = 100 print(a == b)#比较的数值 print(a is b)#比较的是id print(id(a),id(b))#id相同 小数据池 小数据:数字:-5 ~ 256 为了节省空间字符串:1.如果含有特殊字符,不存在小数据池 其他都不存在小数据池. 二.编码 1.编码之间的二进制互不识别 2.存储和传输010101,但不能是unicode的010101 python3x中的编码 python3x中str在内存中的编码方…
一.代码块 Python程序是由代码块构造的.块是一个python程序的文本,他是作为一个单元执行的. 什么是代码块:一个py文件,一个函数,一个文件,一个类都是一个代码块. 作为交互方式输入的每一行都是一个代码块. 二.id is == id是内存地址,在内存中,id都是唯一的如果两个变量指向的值得id相同,就证明在内存中是同一个. is判断的是两个变量的id值是都相同,如果is是True,==一定是True. 三.小数据池(驻留机制,缓存机制) 小数据池是python对内存做的一个优化:将-…
1.==与is == 比较值是否相等 is比较内存地址是否相同 2.小数据池 为了节省内存,当数据在一个范围里的时候,两个值相同的变量指向的是小数据池里的同一个地址 数字范围:-5 ~ 256 num1 = 3 num2 = 3 i1 = id(num1) i2 = id(num2) #此时i1==i2 3.编码 ascii:     8位       1字节     表示一个字符 unicode:  32位     4字节     表示一个字符 utf-8 英文    8位    1字节 欧洲…
一. 上次课内容回顾字典:由{}括起来. 每个元素用逗号隔开, key:value的形式存储数据key: 不可变的. 可哈希的.增删改查:1. 增加: 直接用新key来赋值. dict[key] = value setdefault()2. 删除: pop(key), popitems(), clear(), del dict[key]3. 修改: dict[key] = value, update()4. 查询: get(key) dict[key] setdefault()5. 常用操作:1…
asscii :8位(数字,英文,特殊字符)表示一个字符. A:0000 0001 unicode :(万国码)初期:16位,两个字节,表示两个字符. A:0000 0001 0000 0001 中:0000 0001 0001 0000 升级: 32位,4个字节表示一个字符.(浪费资源) A:0000 0001 0000 0001 0000 0001 0000 0001 中:0000 0001 0001 0000 0000 0001 0001 0001 utf-8:  英文:8位,一个字节表示…
1.小数据池:数字,字符串 数字的范围-5 ---256 字符串:1,不能有特殊字符 2,s*20 还是一个地址,s*21以后都是两个地址 2.编码关系:ascii A : 00000010 8位 一个字节 unicode A : 00000000 00000001 00000010 00000100 32位 四个字节 中:00000000 00000001 00000010 00000110 32位 四个字节 utf-8 A : 00100000 8位 一个字节 中 : 00000001 00…
一:id 查询内存地址 name = 'alex' print(id(name)) li = [1,2,3] print(id(li)) 二:is  判断的是内存地址 name1 = 'alex@' name2 = 'alex@' print(name1 == name2) print(name1 is name2) 三:小数据池 小数据池主要是针对数字,字符串两种类型而言的,对于数字而言,其范围在-5--256之间,对于字符串而言,如果其全部由字母组成,都是指向一个内存地址.如果是数字与str…