is 和 == 区别 编码的问题 id()函数
2018-08-03 07:36:11来源:博客园 阅读 ()
一丶is 和 == 的区别
== 比较的是值
is 比较的是内存地址
#字符串 a = "abc" b = "abc" print(a == b) print(a is b)
#数字 a = 123 b = 123 print(a == b) print(a is b)
# 字典 a = {"a":1,"b":2,"c":3} b = {"a":1,"b":2,"c":3} print(a == b) print(a is b) print(id(a)) print(id(b))
#元组 a = (1,"a","b") b = (1,"a","b") print(a == b) print(a is b) print(id(a)) print(id(b))
#列表 a = [1,"a","b"] b = [1,"a","b"] print(a == b) print(a is b) print(id(a)) print(id(b))
二丶id() 和小数据池
id()是查看内存地址的
a = 123
print(id(a))
?数据池(常量池): 把我们使?过的值存储在?数据池中.供其他的变量使?.
注:在python中一般的字符串都是会被缓存的,为了节约内存
?数据池给数字和字符串使?, 其他数据类型不存在
对于数字: -5~256是会被加到?数据池中的. 每次使?都是同?个对象.
对于字符串:
-
如果是纯?字信息和下划线. 那么这个对象会被添加到?数据池
-
如果是带有特殊字符的. 那么不会被添加到?数据池. 每次都是新的
-
如果是单?字?*n的情况. 'a'*20, 在20个单位内是可以的. 超过20个单位就不会添加到?数据池中
三丶编码的补充
ascii 码:
不支持中文
支持 英文 数字 符号
8位 一个字符
gbk码 国标码:
支持 中文,英文,数字,符号
英文 16位 二个字节
中文 16位 二个字节
unicode 万国码:
支持 中文,英文,数字,符号
英文 32位 四个字节
中文 32位 四个字节
utf-8 长度可变的万国码 :
最少用8位
英文 8位 一个字节
中文 24位 三个字节
Python3中 程序运行阶段 使用的是unicode 显示所有的内容
bytes类型
传输和存储都是使用bytes
pycharm 存储的时候默认是使用utf-8
编码和解码:
encode(编码方式) -----拿到明文编码后对应的字节
decode(编码方式) -----将编码后的字节解码成对应的明文
s = "饿了吗" s1 = s.encode("utf-8") #编码 encode(XXX) XXX是指要编码的类型 print(s1) s2 = s1.decode("utf-8") #解码 decode(XXX) XXX是指要解码的类型 print(s2)
注意:用什么进行编码就要用什么进行解码 不然会解不开
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:day1
下一篇:Day1作业编写用户登陆接口
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- fetchone函数和fetchall函数返回值的区别 2019-08-13
- python常见面试题15道 (附答案)你必须得会 2019-07-24
- 文本分类问题相关原理知识 2019-07-24
- python 之网络编程(基于TCP协议Socket通信的粘包问题及解决 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash