Loading

Python3.8更新特性

Python 3.8.0稳定版

部分新特性:

• PEP 572,赋值+表达式

:=可以将一个表达式或者一个

if (n := len(a)) > 10:#表达式仍然用,赋值也放一起,后面不用多次写表达式,直接写n即可,可以为后面的重复使用省一次
  print(f"List is too long ({n} elements, expected <= 10)")

 

• PEP 570,仅位置的参数

def f(a, b, /, c, d, *, e, f):
  print(a, b, c, d, e, f)
/左侧必须为之传参,右侧c,d可以是关键字可以是位置传参,e,f必须关键字传参

 

• PEP 587,Python初始化配置(改进嵌入)

• PEP 590,Vectorcall:用于CPython的快速调用协议

• PEP 578,运行时审核挂钩

• PEP 574,带外数据的Pickle协议5

• Typing相关(Typing-related):PEP 591,PEP 586和PEP 589

• 并行文件系统缓存,用于编译的字节码

• 调试版本与发行版本共享ABI

• typed_ast被合并回CPython

• LOAD_GLOBAL现在快40%

• pickle现在默认使用协议4,提高了性能

posted @ 2019-10-15 20:50  浅忆尘  阅读(671)  评论(0编辑  收藏  举报