pyhon学习第六天 代码块,小数据池(缓存机制,驻留机制),is == id =,字符编码
Posted jiandanxie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pyhon学习第六天 代码块,小数据池(缓存机制,驻留机制),is == id =,字符编码相关的知识,希望对你有一定的参考价值。
1.代码块
能够实现某项功能的:模块,函数,类,文件
##在python的交互模式下,一行代码就是一个代码块分别储存在不同文件中
2.
id is ==和=
=是赋值
==比较两边数据内容是否相等
is 比较内存地址是否一致(内存里的id都是唯一的)
id() 查看数据的id地址
3.小数据池(缓存机制,驻留机制):
小数据池是python对内存做的一个优化
优化内容:python将-5到256的整数.以及一定规律的字符串提前在内存找那个创建了固定的储存空间
适用小数据池的数据类型:*****
int str bool
b=1231 a=321 c=a is b print(c,id(c)) d=b is a print(d,id(d)) bool型id固定
4.
相同代码块:
python在同一个代码块中创建新变量时(初始化对象命令时),他会将变量与值的对应关系放到一个字典当中,
如果之后再代码块中再初始化对象命令,python会在字典中寻找,如果存在相同的值,会映射到相同的id.
不同代码块:
python在不同的代码块中:初始化对象命令时,会在小数据池中寻找是否有相同的值
5.
网络传输和硬盘储存数据,一定不能以Unicode编码方式传输
对于在python3版本中:
内存的默认编码方式是Unicode
str 与 bytes 类型:
str的所有操作bytes都有
str 与 bytes 类型之间的区别:
在英文中:
str: ‘alex‘
bytes: b‘alex‘
在中文中:
str: ‘太白‘
bytes: 用encode(‘utf-8‘)编码
用decode(‘utf-8‘)解码
a=‘太白‘ b=a.encode(‘utf-8‘) print(b) #b‘xe5xa4xaaxe7x99xbd‘ c=b.decode(‘utf-8‘) print(c) #太白
6.python整体的小数据池和代码块中的小数据池:都是形成一个字典,用于储存int str bool类型数据
b={1:[3]} a={1:[3]} print(id(a),id(b)) #2767810096728 2767810096656 a=1000 b=1000 print(id(a),id(b)) #1667652283280 1667652283280
7.gbk编码和utf-8编码之间的转换:
当是英文字母,数字,特殊字符时,可支架转换
其他数据通过unicode中转
以上是关于pyhon学习第六天 代码块,小数据池(缓存机制,驻留机制),is == id =,字符编码的主要内容,如果未能解决你的问题,请参考以下文章