python3.6与python3.4版本的区别:
python3.4新增功能如下:
采用pip作为Python包的默认安装方式。
增加了标准库pathlib,用于按面向对象的方式操作文件路径。如下:
>>> from pathlib import Path >>> p = Path('/root/test/1.py') >>> p.name '1.py' >>> p.suffix '.py' >>> p.exists() False
增加了标准库enum,用于定义枚举类。如下:
>>> from enum import Enum >>> >>> class Test(Enum): ... a = 1 ... b = 2 ... c = 3 ... >>> Test.a <Test.a: 1> >>> Test['a'] # 可按名字索引 <Test.a: 1> >>> list(Test) # 可迭代 [<Test.a: 1>, <Test.b: 2>, <Test.c: 3>]
增加了标准库asyncio,用于实现异步IO。
增加了标准库statistics,提供了求平均值、中位数、方差等运算的函数。
增加了标准库tracemalloc,用于跟踪内存分配的情况,方便调试。
python3.6新增功能:
dict中的元素会按插入顺序存储。
可以在数字中插入下划线作为分隔符,提高可读性。如下:
>>> 1_000_111_000 1000111000 >>> '{:_}'.format(1000000) # 格式化字符串时也可输出下划线 '1_000_000'
给字符串加上前缀f之后,就会执行花括号 {} 内的语句。如下:
>>> a = 1 >>> f'a={a}' 'a=1' >>> f'{int(1) + 2}' '3'
定义元类的更好方法:给类定义__init_subclass__()方法,用于初始化子类。如下:
class TestBase: subclasses = [] def __init_subclass__(cls, *args, **kwargs): super().__init_subclass__(*args, **kwargs) cls.subclasses.append(cls)
增加了标准库secrets,用于生成安全的随机数,可用作密码、加密密钥。
更多Python知识请关注Python自学网