代码块数据池(密码本)
list:在循环一个列表时,最好不要改变列表的大小,会影响结果。
倒叙循环:
for i in range(len(l1)-1,-1,-1):
pass
dict:在循环一个字典时,不能改变字典的大小,会报错。
is id ==
== 比较的是两边的数值是否相同
id() 对象的内存地址
内存地址相同:变量的在内存中的指向是同一个内存地址 同一个内容。
is 比较的是内存地址相同,是否是同一个人。
代码块:
一个文件。 命令行的一行就是一个代码块。
同一代码块中的缓存机制:
适应的数据类型:str int bool
意义:
1,节省内存
2,提高性能。
小数据池:
适应的数据类型:str(一定范围) int(-5~256) bool
意义:
1,节省内存
2,提高性能。
编码进阶:
ascii unicode utf-8 gbk
1,不同编码之间不能相互识别。(乱码或者出错)
2,网络传输和数据存储不能是通过unicode的编码方式的01010101.
python3x:
str:内部编码方式:unicode
不能直接将字符串用于网络传输和数据存储。
bytes:内部编码方式:非unicode
英文:
str:'alex'
内存编码:unicode
bytes:b'alex'
内存编码:非unicode
中文:
str:'太白'
内存编码:unicode
bytes:b'\ex3\ex3\ex3\ex3\ex3\ex3\'
内存编码:非unicode
unicode ----> b1 = s1.encode('gbk')
gbk --------> b1.decode('gbk')
unicode ----> s1.encode('utf-8')
utf-8 --------> b1.decode('utf-8')
b1 gbk的bytes类型
gbk -----> utf-8
b1.decode('gbk').encode('utf-8')