Rumah >pembangunan bahagian belakang >Tutorial Python >python3.6和3.7有什么区别
Python 3.7 已经发布了,目前Python的用户,主要使用的版本 应该是 Python3.6 和 Python2.7 ,那么是不是该转到 Python 3.7 呢?
首先大家要知道Python 3.7 是对 Python 3.6 的升级。Python官方对 3.7 的新特性:(推荐学习:Python视频教程)
PEP 538, 默认解释器的命令行接口将通过一个新的环境变量PYTHONCOERCECLOCALE自动在有可行的基于UTF-8的环境(如C.UTF-8,C.utf8和 UTF-8)时转换,取决于环境变量是否设置和其值。
PEP 539, 为CPython带来了一个针对本地线程存储的新C-API。PEP 540, 加入了一个新的UTF-8模式,默认在POSIX兼容的操作系统上开启,可通过环境变量PYTHONUTF8 更改。
PEP 552, 为pyc格式文件新增了一个基于哈希值的源码文件验证。
PEP 553, 一个新增的内置函数breakpoint()使你可以更方便的进入Python或自定义Debugger。
PEP 557, 一个新装饰器Data Classes, 减少创建类时所需要的代码量,并可自动创建__init__,__repr__, 和 __eq__ 等方法。
PEP 560, 通过修改解释器核心部分优化了typing模块和泛型类型。
PEP 562, 对模块属性的自定义访问。
PEP 563, 通过推迟对注释语句的分析从而优化Python的类型提示。
PEP 564, 为time模块新增支持返回int整数形式的纳秒精度方法。
PEP 565, 再一次默认在 __main__ 处显示Deprecation Warning如SyntaxWarning, RuntimeWarning。
PEP 567,新增contextvars模块,通过上下文管理器以防止变量的状态在并发代码中意外泄漏到其它代码。
更多详情可去python官网查询.
我们最需要注意的是 相对于 3.6 来说, 3.7 在语法上几乎是完全 兼容, 除了如下这一点:
Backwards incompatible syntax changes: async and await are now reserved keywords.
这段话,指出了 3.7 的唯一不兼容 3.6 的地方就是 async 和 await 变成了Python语言中保留的关键字了。
什么意思?
就是async和await这两个词就像 import, for, while这些词一样, 是系统保留特殊用途的关键字。
也就是说在Python 3.7 里面你不能使用定义变量、函数之类的名字
更多Python相关技术文章,请访问Python教程栏目进行学习!
Atas ialah kandungan terperinci python3.6和3.7有什么区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!