python3.8新特性
Python3.8稳定版已发布,官网发布了一篇介绍新特性的文章,在此记录一下。
新增赋值操作符:=
作用:把较大表达式中的某部分值赋给变量,因为看起来像海象的眼睛和牙齿,:= 操作符有个特别的名字:海象操作符
范例1:if (n := len(a)) > 10: print(f"List is too long ({n} elements, expected <= 10)")
用了 := ,避免调用 len() 两次。
新增(仅限位置参数)的语法符号 /
作用:表明一些函数的参数,必须指定位置,并且不能用作关键字参数。
范例def f(a, b, /, c, d, *, e, f): print(a, b, c, d, e, f)
在这个例子中,参数 a 和 b 是仅限位置参数的,而 c 或 d可以是仅限位置参数,也可以是关键字参数,e 和 f 必须是关键字参数。
新增 PYTHONPYCACHEPREFIX 设置 (-X pycache_prefix)
作用:把隐式字节码缓存,配置为使用单独的并行文件系统树,而不是在每个源目录中使用缺省的 pycache 子目录。
调试版本与发行版本共享 ABI
f 字符串新支持 = 说明