一、python中真正的代码块是什么?
1、 一个模块,一个函数,一个文 件,一个类都是一个代码块
在交互模式下,每一行是一个代码块
>>>i1 = 100 #可以理解为这一行在一个文件中
>>>i2 = 23
2、id(name) 在内存中id都是唯一的,如果两个变量指向的值id的值是相同的,就证明它们所在的内存是同一个
3、is判断两个变量的id的值是否相同,
4、小数据池:缓存机制,驻留机制
1、 小数据池,Python对内存的一种优化
它将-5到256的整数,以及一定规则的字符串,提前在内存中建了池,容器里固定放了这些数
2、 节省内存,提高性能和效率
3、 小数据池的应用数据类型:整型,字符串,bool
二、代码块
1、 python在同一个代码块中的变量,初始化对象的命令时,它会将变量与值的关系放到一个字典中,如果下面的代码在遇到初始化对象的命令,它会优先从
字典中查找,如果存在相同的值,将会复用
2、 python对于不同的代码块,初始化对象的命令时,它会从小数据池中查找
三、编码
1、编码之间不能互相识别
2、网络传输,或者文件的存储,必须是以非unicode的编码方式存储,传输
大环境下:python3x
str:内存(内部)编码方式为unicode
bytes:python的基础数据类型之一,str拥有的所有方法,它都适用
区别:
英文字母:
str:
表现形式:s = 'alex'
内部编码方式:unicode
bytes:
表现形式:s = b'alex'
内部编码方式:非unicode
中文:
str:
表现形式:s = '太白'
内部编码方式:unicode
bytes:
表现形式:s = b'xe5xa4xaaxe7x99xbd'
内部形式:非unicode
str--->bytes
encode('utf-8') encode('gbk')
bytes--->str
decode('utf-8') decode('gbk')