Py2与Py3的区别
2024-09-07 00:14:24
总结Py2 与Py3 的区别
1 编码区别
在Python2中有两种字符串类型str和Unicode。
默认ASCII
python2 str类型,相当于python3中的bytes类型
python2 unicode类型,相当于python3中的str类型
而在Python3中改为了bytes和str
默认utf-8
在 Python 中,不论是 Python2 还是 Python3 中,总体上说,字符都只有两大类:
- 通用的 Unicode 字符;
- (unicode 被编码后的)某种编码类型的字符,比如 UTF-8,GBK 等类型的字符。
Python2 中字符的类型:
str: 已经编码后的字节序列
unicode: 编码前的文本字符
Python3 中字符的类型:
- str: 编码过的 unicode 文本字符
- bytes: 编码前的字节序列
2 输入input
python2:name=raw_input('请输入姓名')
python3:name=input('请输入你的姓名')
3 输入print
python2:print "你好"
python3:print("你好")
4 数字表示
python2: 64位机器,范围 -2^63~2^63-1
超出上述范围,python自动转化为long(长整型) ;注:long(长整型)数字末尾有一个L
python3: 所有整型都是int, 没有long长类型
5 整型除法
python2:只能保留整数位
python3:可以保留所有内容
6 range
python2:
- xrange:不会在内存中立即创建,而是在循环时,边循环边创建
- range:在内存立即把所有的值创建
python3:
- 只有range,相当于python2中的xrange
- range:不会在内存中立即创建,而是在循环时,边循环边创建
7 字典
python2:返回列表,通过索引可以取值
python3:返回迭代器,只能通过循环取值,不能通过索引取值
8 class
python2.7中经典类和新式类混合
python3中都是新式类
经典类中使用深度优先,新式类中使用广度优先
python2不能使用super
python3可以使用super
最新文章
- 我的MYSQL学习心得(九) 索引
- RecyclerView的基本使用
- js图片时间翻转
- GSM嗅探
- A Mathematician‘s Survival Guide Graduate School and Early Career Development
- addChildViewController 与 addSubview
- sicily 4378 connected components in undirected graph
- Tuning Radio Resource in an Overlay Cognitive Radio Network for TCP: Greed Isn’t Good
- sitemap制作
- Win7系统下,docker构建nginx+php7环境实践
- 通过C#学Proto.Actor模型》之Remote
- cache line 伪共享
- ionic插件安装与卸载
- 第三章 消息摘要算法--MD5
- 利用XAMPP搭建PHP开发环境,解决443端口被占用
- pandas数组(pandas Series)-(3)向量化运算
- L1-035 情人节
- JavaScript作用域原理——预编译
- 使用Martix来实现缩放图片的功能
- python写爬虫时的编码问题解决方案