Python380来袭,新特性抢先看

绿色祛除白癜风 http://news.39.net/bjzkhbzy/210610/9050478.html

Python3.8.0版本在10月14日正式发布,其中包含大量新的特性与优化。

与Python3.7相比,3.8系列的主要新特性(节选部分)有:

PEP,赋值表达式

新的语法(walrusoperator象牙运算符)

:=

可以将值作为表达式的一部分分配给变量:

if(n:=len(a))10:print(fLististoolong({n}elements,expected=10))

PEP,仅位置参数

新语法

/

指示某些函数参数必须按位置指定,不能用作关键字参数,例子:

defpow(x,y,z=None,/):r=x**yifzisnotNone:r%=zreturnr

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

Python的初始化中添加了一个新的CAPI,从而对整个配置提供一个更好的控制与更优质的错误报告。

PEP,Vectorcall:一种CPython的快速调用协议

Vectorcall协议被添加到Python/CAPI中,它的目的是将已经为各种类进行的现有优化形式化,实现可调用的任何扩展类型都可以使用此协议。

PEP,运行时审核挂钩

PEP,带外数据的Pickle5协议

该PEP建议将新的Pickle协议标准化,并附带发布API以实现协议的充分利用。

拼写相关:PEP

Final

最终变量,PEP

Literal

类型,PEPTypedDict简单类型的命名空间

编译字节码文件的并行文件系统缓存

新的

PYTHONPYCACHEPREFIX

设置(也可用作-X

pycache_prefix

)将隐式字节码缓存配置为使用单独的并行文件系统树,而不是默认值

__pycache__

每个源目录中的子目录。

调试生成与发布生成版本共享ABI

无论是内置的发布模式还是调试模式,Python现在都使用相同的ABI。

f-strings现在支持

=

以便轻松快速地调试

finally:

块中可合法放入

continue

Windows平台中现在默认的

asyncio

异步事件循环现在是

ProactorEventLoop

macOS平台上

multiprocessing

中的spawn开始方法被默认使用

typed_ast合并回CPython

LOAD_GLOBAL

速度提升40%

pickle

现在默认使用第四版协议以提升性能




转载请注明:http://www.aierlanlan.com/rzfs/4614.html