品易云推流 关闭
文章详情页
文章 > Python常见问题 > python3.6与3.4版本的区别是什么?

python3.6与3.4版本的区别是什么?

头像

yang

2020-05-30 11:32:073518浏览 · 0收藏 · 0评论

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自学网

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图