day06 小数据池和编码】的更多相关文章

一. 上次课内容回顾字典:由{}括起来. 每个元素用逗号隔开, 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…
目录 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…
day06 小数据池 小数据池--缓存机制(驻留机制),只是一种规格,不会实际的开辟一个空间 == 判断两边内容是否相等 ***** # 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***** 字符串:…
今日所学 一.  小数据池 二.  is 和==的区别 三.  编码的问题 一.小数据池的作用 用来缓存数据 可以作用的数据类型: 整数(int), 字符串(str), 布尔值(bool). 什么是块? 代码块: ⼀个模块, ⼀个函数, ⼀个类, 甚⾄每⼀个command命令都是⼀个代码块. ⼀个⽂件也是⼀ 个代码块, eval()和exec()执⾏的时候也是⼀个代码块 二 . is 和== 的区别 id() 通过id 可以查找到一个变量表示的值在内存中的地址. 例如: .    s = 'al…
⼀. ⼩数据池 在说⼩数据池之前. 我们先看⼀个概念. 什么是代码块: 根据提示我们从官⽅⽂档找到了这样的说法: 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在内存中的编码方…
一.小数据池 1.代码块 python程序是由代码块构成的.一个代码块的文本作为python程序执行的单元.代码块: 一个模块, 一个函数, 一个类, 甚至每一个command命令都是一个代码块. 一个文件也是一个代码块, eval()和exec()执行的时候也是一个代码块.   2.小数据池:一种数据缓存机制,也被成为驻留机制,它只针对整数.字符串.布尔值(不可变)其他数据类型不存在驻留机制. 在python中对-5 ~256之间的整数会被驻留在内存中,将一定规则的字符串缓存,在使用的时候,内…
一.代码块 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字节 欧洲…
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…
二次编码.解码.小数据池: encode(str:编码):参数编码方式,返回字节码. str_1 = "编码" str_2 = str_1.encode("utf-8") # 使用utf-8进行编码 print(str_2) # 打印内容如下 b'\xe7\xbc\x96\xe7\xa0\x81' decode(str:编码):参数编码方式,返回解码后的结果. str_1 = "编码" str_2 = str_1.encode("utf…
一.代码块.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…
python2#print() print'abc'#range() xrange()生成器#raw_input() python3# print('abc')# range()# input() = 赋值== 比较值是否相等is 比较的是内存地址是否一致,返回True or Falseid(内容) 返回内容 li1 =[1,2,3] li2 =li1 #赋值 print(li1 is li2) #True print(id(li1),id(li2))#48358464 48358464 小数据…
1.小数据池 python程序是由代码块构成的,一个代码块的文本作为python程序的执行单元. 代码块:一个模块,一个函数,一个类,甚至一个command命令都是一个代码块,一个文件也是一个代码块,eval()和exec()执行的时候也是代码块. 什么是命令行? 我们再控制台CMD中输入python进入的就是python的command模式.   一个command命令就是一个代码块 小数据池:一种数据缓存机制,也被称为驻留机制,也相当于常量池.(string  iterning) 小数据池只…
一 . 小数据池 # 小数据池针对的是: 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() 查看变量的内存地址 2. is和==的区别 # s1 = "abc" # 内存中是没有"abc", 创建一个新的 0.0001 # s2 = "abc" # 内存中是已经有了"abc"…
一.is a = 100 b = 100 print(a == b) print(a is b) 执行输出: TrueTrue 查看内存地址,使用id函数 print(id(a)) print(id(b)) 执行输出: 24568395544802456839554480 内存地址,相当于门牌号 == 比较的是数值 is 比较的是内存地址 二.小数据池 只有数字和字符串类型 小数据池的作用,就是节省内存 数字: -5~256 这个范围指向的是同一内存地址字符串,是没有范围的. 字符串:1.如果含…
一.小数据池, id()    进行缓存 1.小数据池针对的是: int, str, bool 2.在py文件中几乎所有的字符串都会缓存.   在cmd命令窗口中几乎都不会缓存   不同的解释器有不同的机制 3.id() 查看变量的内存地址 4. is和==的区别 is 比较的是内存地址 == 比较的是内容 当两个变量指向同一个对象的时候. is是True, ==也是True 5. 优点:快速创建对象,节省内存 缺点:缓存如果过大,影响速度会比较慢 二.再谈编码 回顾: 1. ascii. 有:…
主要内容 小数据池,is和==区别 编码问题 小数据池 一种缓存机制,也称为驻留机制,是为了能更快提高一些字符串和整数的处理速度is 和 == 的区别 == 主要指对变量值是否相等的判断,只要数值相同一定为真 is 主要是对变量内存地址是否相同的判断,变量值相同不一定为真,但是变量内存地址相同,则变量一定相同. tips:可通过id()来查询变量id why: 1.为什么会存在不同变量共用一个内存地址的情况?1.前面说到的小数据池,即缓存.一部分字符串会被放在缓存中被公用,以提高处理速度 why…
二十二.小数据池, id()    进行缓存 1.小数据池针对的是: int, str, bool 2.在py文件中几乎所有的字符串都会缓存.   在cmd命令窗口中几乎都不会缓存   不同的解释器有不同的机制 3.id() 查看变量的内存地址 4. is和==的区别 is 比较的是内存地址 == 比较的是内容 当两个变量指向同一个对象的时候. is是True, ==也是True 5. 优点:快速创建对象,节省内存 缺点:缓存如果过大,影响速度会比较慢 二十三. 再谈编码 回顾: 1. asci…
一.代码块 Python程序是由代码块构造的.块是一个python程序的文本,他是作为一个单元执行的. 代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块. 而作为交互方式输入的每个命令都是一个代码块. 什么叫交互方式?就是咱们在cmd中进入Python解释器里面,每一行代码都是一个代码块,例如: 而对于一个文件中的两个函数,也分别是两个不同的代码块: 二.is id == 的区别 在Python中,id是什么?id是内存地址,比如你利用id()内置函数去查询一个数据的内存地址: na…
---恢复内容开始--- 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.…
python_day_6 一. 回顾上周所有内容一. python基础 Python是一门解释型. 弱类型语言 print("内容", "内容", end="\n") 打印语句 变量: 程序运行过程中产生的中间值. 存储在内存中.供后面的程序调用 变量的数据类型: int, 整数 str, 字符串 bool, True,False 5. 命名规则: 由数字,字母,下划线组成 不能是纯数字或者数字开头 不能是关键字 不能太长 要有意义 不要用中文…
一.代码块.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…
1, is 与 == 的区别 ==  比较的是两边的值 is   比较的是两边的地址  id () 2,小数据池(在终端中) 数字小数据池的范围 -5 ~ 256 字符串中如果有特殊字符他们的内存地址就不一样 字符串中单个*20以内他们的内存地址一样,单个*21以上内存地址不一致 注意: pycharm中, 一个py文件中所有相同的字符串 一般都是使用一样的内存地址 3,编码和解码 ascii 码: 不支持 中文 支持 英文 数字 符号 8位 一个字节 gbk码 国标: 支持 中文,英文,数字,…
一.小数据池 1.id() 小数据池针对的是:int ,str,boo(都是不可变的数据类型) (1)如果是在py文件中写的字符串,几乎都是缓存的 (2)在黑窗口里写的机会都不会缓存 (3)不同的解释器,缓存的机制也不一样 优点: 可以帮我们快速的创建对象,节省内存 缺点: 缓存如果过大,反应速度会比较慢 在py文件中几乎所有的字符串都会缓存,id()查看变量的内存地址 s = "alex" print(id(s)) 2. is 和 == ==判断左右两端的值是否相等,不不是一致. i…
编码拓展: 1.在所有类型的编码中,编码的二进制互不识别, 2.在传输的过程中不能是万国码的二进制解码传输, 因此将unicode变为utf - 8或者变成gbk编码尤为重要; 利用encode编码为utf - 8或者gbk 或者decode解码 s = '中国' print(s.encode('utf-8')) #结果:b'\xe4\xb8\xad\xe5\x9b\xbd' #将utf-8 转换为gbk先要转换为unicod s = 'alex' s1 = s.encode('utf-8')…
小数据池 1. id() 通过id()可以查看到一个变量表示的值在内存中的地址 s = "Agoni" print(id(s)) # 2410961093272 2. is 和 == == 判断左右两端的值是否相等,是不是一致 is 判断左右两端的内存地址是否一致,如果返回True 可以确定这两个变量使用的是同一个对象 在Python中,默认会把数字, 字符串, 布尔值进行缓存 1. 当我们在控制台时(CMD) #按照这个记 数字: -5 ~ 256 之间的整数会被缓存 字符串: 长度…