• 技术文章 >常见问题 >Python常见问题

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

    yangyang2020-05-30 11:32:07原创3595

    python3.6与python3.4版本的区别:

    python3.4新增功能如下:

    采用pip作为Python包的默认安装方式。

    增加了标准库pathlib,用于按面向对象的方式操作文件路径。如下:

    1

    2

    3

    4

    5

    6

    7

    8

    >>> from pathlib import Path

    >>> p = Path('/root/test/1.py')

    >>> p.name

    '1.py'

    >>> p.suffix

    '.py'

    >>> p.exists()

    False

    增加了标准库enum,用于定义枚举类。如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    >>> 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

    2

    3

    4

    >>> 1_000_111_000

    1000111000

    >>> '{:_}'.format(1000000)    # 格式化字符串时也可输出下划线

    '1_000_000'

    给字符串加上前缀f之后,就会执行花括号 {} 内的语句。如下:

    1

    2

    3

    4

    5

    >>> a = 1

    >>> f'a={a}'

    'a=1'

    >>> f'{int(1) + 2}'

    '3'

    定义元类的更好方法:给类定义__init_subclass__()方法,用于初始化子类。如下:

    1

    2

    3

    4

    5

    6

    class TestBase:

        subclasses = []

     

        def __init_subclass__(cls, *args, **kwargs):

            super().__init_subclass__(*args, **kwargs)

            cls.subclasses.append(cls)

    增加了标准库secrets,用于生成安全的随机数,可用作密码、加密密钥。

    更多Python知识请关注Python自学网

    专题推荐:python
    上一篇:python3.6有几个版本? 下一篇:python3能写app吗?

    相关文章推荐

    • Python3目前最新版本是多少?• python3.7 idle怎么安装• python3.6有几个版本?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网