Python 3.5 32位/64位官方版今天正式發(fā)布。該版本引入了很多新特性,比如支持async/await異步編程,改進了對Python Zip應用的支持,引入了一個加載擴展模塊的改進機制等。
PEP 492 :支持async/await語法的協(xié)程
PEP 492極大改進了Python中對異步編程的支持,增加了 awaitable對象 (可以是協(xié)程或者帶有 __await__() 方法的對象)、 協(xié)程函數(shù) 、 異步迭代 和 異步上下文管理器 等內容。
協(xié)程函數(shù)用新的async def語法聲明:
>>>async def coro():
... return 'spam'
PEP 465 :新的矩陣相乘運算符:a @ b
PEP 448 :解包操作泛化(Unpacking Generalizations)
CPython實現(xiàn)的改進:
不再使用.pyo文件,而是引入了一種更靈活的替代機制,.pyc文件可以表示優(yōu)化和未優(yōu)化的字節(jié)碼。優(yōu)化級別信息可以包含在.pyc文件的名字中,具體可參見 PEP 488 。
重新設計了內置和擴展模塊的加載機制,具體可參見 PEP 489 。
標準庫也有重要改進:
collections.OrderedDict 現(xiàn)在是用C實現(xiàn)的,速度可以提升4到100倍。
新的 os.scandir() 函數(shù),支持更快速地遍歷目錄。
functools.lru_cache() 大部分用C重新實現(xiàn)了,帶來了更好的性能。