探索 Python 3.8 的新变化
想了解 Python 3.8 的最新特性以及与 3.7 版本的差异吗?这篇文章将为您详细解读。
新功能
-
编译缓存优化: Python 3.8 引入了一种全新的编译字节码文件并行缓存机制。您可以使用新的
PYTHONPYCACHEPREFIX
设置(或-X pycache_prefix
命令行选项)将隐式字节码缓存配置为使用独立的并行文件系统树,而不是默认的每个源目录下的子目录。您可以使用sys.pycache_prefix
来查看缓存位置(如果值为None
,则表示使用默认的__pycache__
子目录)。 -
语言更新:
- 解除了在
finally
子句中使用continue
语句的限制。 int
类型新增了as_integer_ratio()
方法,与现有的float.as_integer_ratio()
方法保持一致。- 现在支持
N{name}
形式的 Unicode 字符转义。 dict
和dictviews
现在可以使用reversed()
方法进行反向迭代。- 对函数调用中允许的关键字名称语法进行了进一步的限制,例如,不再允许
f((keyword)=arg)
这种形式。 - 现在允许在
yield
和return
语句中使用无括号的可迭代对象解包。 - 将非有效转义序列的反斜杠字符对生成的警告从
DeprecationWarning
更改为SyntaxWarning
。 - 在某些情况下,如果在元组或列表表达式中缺少逗号,编译器现在会生成
SyntaxWarning
。
- 解除了在
-
其他改进
datetime.date
或datetime.datetime
对象与datetime.timedelta
对象之间的算术运算现在返回子类的实例,而不是基类。- 当 Python 解释器被 Ctrl-C (SIGINT) 中断且
KeyboardInterrupt
异常未被捕获时,Python 进程现在会通过 SIGINT 信号或正确的退出代码退出。
22.23MB
文件大小:
评论区