Python是一款功能強(qiáng)大的電腦編程軟件,小編這里為大家?guī)淼氖荘ython最新版,與之前的版本相比,新版本帶來了新的語法特性、新的內(nèi)置特性、新的庫模塊以及改進(jìn)了Interpreter,功能更為齊全,特別適合用于獨(dú)立的、大型項(xiàng)目的開發(fā)。
更新內(nèi)容
新的語法特性
PEP 584,union operators已添加至 dict;
PEP 585,標(biāo)準(zhǔn)集合中的類型提示泛型;
PEP 614,放寬對(duì)裝飾器的語法限制。
新的內(nèi)置特性
PEP 616,用于刪除前綴和后綴的字符串方法。
標(biāo)準(zhǔn)庫的新特性
PEP 593,靈活的函數(shù)和變量注釋;
添加了os.pidfd_open(),允許進(jìn)行進(jìn)程管理,而不產(chǎn)生競(jìng)爭(zhēng)和信號(hào)。
改進(jìn) Interpreter
PEP 573,從C擴(kuò)展類型的方法快速訪問模塊狀態(tài);
PEP 617,CPython現(xiàn)在使用了一個(gè)基于PEG的新解析器;
使用PEP 590 vectorcall加快了許多Python內(nèi)置函數(shù)(范圍、元組、集合、frozenset、列表、字典)的速度;
垃圾回收不會(huì)阻止復(fù)活的對(duì)象;
許多 Python 模塊(_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, math, operator, resource, time, _weakref)都使用PEP 489定義的多階段初始化;
許多標(biāo)準(zhǔn)庫模塊(audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib)都使用 PEP 384 定義的穩(wěn)定ABI。
新的庫模塊
PEP 615,即IANA時(shí)區(qū)數(shù)據(jù)庫現(xiàn)在位于zoneinfo模塊的標(biāo)準(zhǔn)庫中;
新的graphlib模塊中提供了圖的拓?fù)渑判虻膶?shí)現(xiàn)。
發(fā)布周期變更
PEP 602,CPython采用年度發(fā)布周期。
版本優(yōu)化
1、Build和C API
提供Py_EnterRecursiveCall()和Py_LeaveRecursiveCall()作為limited API的常規(guī)函數(shù)。從stable API中刪除_Py_CheckRecursionLimit。
向C API添加一個(gè)新的公共函數(shù)PyObject_CallNoArgs(),這個(gè)函數(shù)可以調(diào)用不含參數(shù)的可調(diào)用Python對(duì)象。
全局變量PyStructSequence_UnnamedField在python3.9中修改為常量字符串。
從Py_LIMITED_API.pyfpe.h中剔除PyFPE_START_PROTECT()和PyFPE_END_PROTECT()函數(shù)。
刪除PyMethod_ClearFreeList()和PyCFunction_ClearFreeList()函數(shù)。
2、方法調(diào)整
在之前的版本中,math.factorial()函數(shù)只接受非負(fù)整數(shù)值,否則將引發(fā)ValueError。在python3.9中該函數(shù)將棄用,任何參數(shù)都將引發(fā)TypeError。
棄用parser模塊,并將在以后的Python版本中刪除。
修改random模塊的seeds類型,今后只支持None,int,float,str,bytes和bytearray類型。
始終允許打開GzipFile文件進(jìn)行讀寫,即使不指定mode參數(shù)也不會(huì)發(fā)出警告。
推薦使用_tkinter.TkappType的splitlist()方法代替split()方法。
3、移除模塊
collection.abc 里面的抽象基類將不在常規(guī)的 collection 模塊中公開。
刪除sys.getcheckinterval()和sys.setcheckinterval()函數(shù)。
刪除threading.Thread的 isAlive()方法。
刪除ElementTree中的getchildren() 和getiterator()方法。
刪除舊plistlib模塊的實(shí)現(xiàn),同時(shí)刪除其中的use_builtin_types參數(shù)。