• Python3.8的新特性抢先看
  • 发布于 2个月前
  • 347 热度
    1 评论
  • 风清扬
  • 0 粉丝 39 篇博客
  •   

对,你没看错,是Python3.8的新特性概览。还没有发布,目前还在规划阶段。注意这是目前的草案,最终确定版本可能会有一些变化。


新特性:编译字节码可以单独指定存放位置。

我来解释一下。Python在运行的时候会生成对应代码的编译字节码文件,就是我们常见的.pyc文件。在Python3中,这些文件被放置在跟对应代码同级目录下的__pycache__文件夹下。在Python3.8中,我们将可以指定一个路径,让.pyc文件全部按照对应代码的结构,放在我们指定的路径下面,以此来实现代码和编译字节码的分离。

你可以通过设置环境变量 PYTHONPYCACHEPREFIX 来指定这个生成路径,你也可以在代码中使用 sys.pycache_prefix 来获取这个生成路径。

虽然还没有看到最终的功能,但是这样的特性描述让小编不禁想,那将来是不是可以分发Python代码的时候可以只分发编译字节码包,从而一定程度上提高了Python的安全性呢?


其他一些重点的改动

1.以前 finally 中加 continue 语句是不合法的。这并不是一个原理上的要求,而是 Python 实现导致的限制。Python3.8 之后这个限制被移除了。
2.正则表达式中增加了一种 \N{name} 语法。
3.Dict 和 dictview 可以使用 reversed 方法来按照插入顺序的倒序遍历。
4.函数调用中的关键字参数名,只允许使用一个变量名。以前可能出现的类似  f((keyword)=arg) 这类的写法都将被禁止。
在 yield 和 return 语句中允许使用可迭代对象解包。

更多改动的细节,请参考官方文档,地址为:
https://docs.python.org/3.8/whatsnew/3.8.html

用户评论