Python3.0的新特性(原创)
网上关于Python3与Python2的区别的文章都烂大街了,但基本上都是抄来抄去,为了追本溯源,直接看官网最靠谱,官网文档的结构性更强。
本文是对Python3.0官网文档 What’s New In Python 3.0 的总结。看了一下Python3.0的发布时间,竟然是2008年,已经11年了,我擦,
对于开发者来说,Py2与Py3的区分不大,难的是很多库也要跟着升级,现在,绝大部分库应该都支持Py3了
1. 数据类型
1. 整型
- 取掉long类型,只保留int,int表示范围无上限,牛逼
- 1/2返回float,而不再是int,使用1//2返回整数,而且是地板除,不是四舍五入
2. 字符串
分为str和bytes,str是unicode,也是默认的编码,bytes是某种特定的编码,比如utf-8等。可以使用str()方法将其它类型(如整型)的数据转为str类型字符串。
2. Views和Iterators代替Lists
- dict.keys(), dict.items(), dict.values()返回view,不再返回list
- map(), filter()返回iterator,不再返回list
- range()同上
- zip()同上
3. 类都是新式类
类的定义如下,默认继承自object类,当然,你显式继承object类也没有问题
class Student:
def __init__(self, name):
self.name = name
4. print()是函数
print('hahaha') # 必须加()
5. asyncio
异步标准库,不再使用yield语法实现协程。增加语法async, await以及asyncio实现