python2与python3的区别
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python2与python3的区别,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1850字,纯文字阅读大概需要3分钟。
内容图文
![python2与python3的区别](/upload/InfoBanner/zyjiaocheng/839/fa25bd4eaacc4b709333c129c5233ca2.jpg)
一:python2与python3的区别
Python2 默认ASCII码 python3默认UTF-8
Python2中print得括号可加可不加 python3必须加括号
Python2中有xrange() python3中是range()
Python zhong raw_input() python3中input()
二:内存地址
“=”赋值
“==”比较值是否相等
“is”比较的是内存地址
“id” id(内容)表示查看内容的地址
赋值运算指向的是同一个内存地址
对数字和字符串来说有小数据池的概念
如:a = 6 b = 6 a =300 b = 300
当数字在一定的范围内时,a,b内存地址一样,当超出范围时,内存地址不一样,目的:节省空间
数字的范围是:-5~256
字符串:没有特殊字符是同一个地址,有特殊字符则内存地址不同
S * 20 是同一个地址,s * 20以后都是两个地址(s为一个字符)
List , dict , tuple , set集合 没有小数据池的概念
三:编码 ASCII Unicode UTF-8 GBK
①各个编码之间的二进制,不能相互识别,会产生乱码。
②文件的传输,存储不能是Unicode(太浪费空间)
四:python3
Python3的字符串在内存中是用Unicode编码的
新数据类型:bytes类型;和str类似,区别是编码方式,bytes编码方式是UTF-8,GBK或者GB2312,str的编码方式是Unicode
对于英文:str:表现形式为s =‘abcd’
编码方式为01010101 Unicode
bytes:表现形式为s = b‘abcd’
编码方式为utf-8 gbk
对于中文:str:表现形式为s=‘中国’
编码方式为01010101 Unicode
bytes:表现形式为s = b‘x\e91\e91\e01......16进制
编码方式为utf-8 gbk
五:将str转化为bytes类型
encode() 编码
英文:
s1 = ‘alex’ s2 = s1.encode(‘UTF -8’) print(s2)
结果:b’alex’
中文:
转化为UTF-8的编码方式为:
s1 = ‘中国 s2 = s1.encode(‘UTF -8’) print(s2)
结果:b’\xe4\xb8\xad\xe5\x9b\xbd’ (三个字节为一个字符)
转化为GBK的编码方式为:
s1 = ‘中国 s2 = s1.encode(‘GBK’) print(s2)
结果:b’\xd6\xd0\xb9\xfa’ (两个个字节为一个字符)
内容总结
以上是互联网集市为您收集整理的python2与python3的区别全部内容,希望文章能够帮你解决python2与python3的区别所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。