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 =,字符编码的主要内容,如果未能解决你的问题,请参考以下文章

Python 小数据池代码块以及代码块缓存机制

python第六天

8.小数据池,代码块

零基础之第六天(is,id,编码,小数据池)

小数据池

再谈编码---小数据池(概念)