码迷,mamicode.com
首页 > 其他好文 > 详细

pyhon学习第六天 代码块,小数据池(缓存机制,驻留机制),is == id =,字符编码

时间:2018-08-25 11:39:38      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:内存   decode   copy   网络   技术分享   初始   python   alt   同文件   

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‘\xe5\xa4\xaa\xe7\x99\xbd‘
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 =,字符编码

标签:内存   decode   copy   网络   技术分享   初始   python   alt   同文件   

原文地址:https://www.cnblogs.com/jiandanxie/p/9532964.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!