成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

Python 3.8 新功能來一波(大部分人都不知道)

瀏覽:2日期:2022-08-02 16:57:33

Python 3.8 新功能來一波(大部分人都不知道)

Python 是一門廣受好評的編程語言,每個版本的更新都會對開發(fā)社區(qū)帶來一定影響。近日,Python 3.8 已進(jìn)入 beta 2 版本的測試中,各項(xiàng)新特性已經(jīng)添加完畢,最終版本預(yù)計(jì)于今年 10 月發(fā)布。

從事計(jì)算機(jī)領(lǐng)域工作的讀者朋友對 Python 編程語言應(yīng)該非常熟悉了。這是一門廣受好評的動態(tài)編程語言,其靈活和語法簡易的特點(diǎn)使得這門語言在腳本工具、數(shù)據(jù)分析、Web 后端都有廣泛的應(yīng)用。Python 開發(fā)社區(qū)也非常活躍,3.x 的版本迭代速度非??臁?018 年 6 月底,Python 3.7 問世,之后 Python 3.8 的開發(fā)和測試工作也已經(jīng)展開。近日,Python 軟件基金會公開了 3.80b2 的說明文檔,向公眾展示了 beta 版本的測試進(jìn)展,以及 Python 3.8 版本的新特性和功能改進(jìn)。

目前,Python 3.8 的 beta 測試流程正在進(jìn)行中。今年 6 月初,官方發(fā)布了第一個 beta 版本——Python 3.80b1,緊接著一個月后發(fā)布了 Python 3.80b2。第二個 beta 版本發(fā)布后,Python 3.8 新特性已經(jīng)添加完畢。官方目前已公布最終版本的發(fā)布時間,預(yù)計(jì)在今年的 10 月份。

文檔地址:https://docs.python.org/zh-cn/3.8/whatsnew/3.8.html#summary-release-highlights

正文

Python 3.8 是Python語言的最新版本,它適合用于編寫腳本、自動化以及機(jī)器學(xué)習(xí)和Web開發(fā)等各種任務(wù)。

現(xiàn)在Python 3.8已經(jīng)進(jìn)入官方的beta階段,這個版本帶來了許多語法改變、內(nèi)存共享、更有效的序列化和反序列化、改進(jìn)的字典和更多新功能。

Python 3.8還引入了許多性能改進(jìn)??偟膩碚f,我們即將擁有一個更快、更精確、更一致和更現(xiàn)代的Python。

下面是Python 3.8的新功能和最重要的改變,我總結(jié)了一些開發(fā)中用得到的,常用的特性。

1.賦值表達(dá)式

Python 3.8最明顯的變化就是賦值表達(dá)式,即:=操作符。賦值表達(dá)式可以將一個值賦給一個變量,即使變量不存在也可以。它可以用在表達(dá)式中,無需作為單獨(dú)的語句出現(xiàn)。

Python 3.8 新功能來一波(大部分人都不知道)

上例中,如果變量line不存在則會被創(chuàng)建,然后將file.readline()的返回值賦給它。然后檢查line是否為'end'。如果不是,則讀取下一行,保存在line中,然后繼續(xù)測試。

賦值表達(dá)式遵循了Python一貫簡潔的傳統(tǒng),就像列表解析式一樣。其目的在于避免在特定的Python編程模式中出現(xiàn)一些枯燥的樣板代碼。例如,上述代碼用一般寫法需要多寫兩行代碼。

2.僅通過位置指定的參數(shù)

僅通過位置指定的參數(shù)是函數(shù)定義中的一個新語法,可以讓程序員強(qiáng)迫某個參數(shù)只能通過位置來指定。這樣可以解決Python函數(shù)定義中哪個參數(shù)是位置參數(shù)、哪個參數(shù)是關(guān)鍵字參數(shù)的模糊性。

僅通過位置指定的參數(shù)可以用于如下情況:某個函數(shù)接受任意關(guān)鍵字參數(shù),但也能接受一個或多個未知參數(shù)。Python的內(nèi)置函數(shù)通常都是這種情況,所以允許程序員這樣做,能增強(qiáng)Python語言的一致性。

Python文檔中給出的例子如下:

Python 3.8 新功能來一波(大部分人都不知道)

符號 / 分隔了位置參數(shù)和關(guān)鍵字參數(shù)。在這個例子中,所有參數(shù)都是未知參數(shù)。在以前版本的Python中,z會被認(rèn)為是關(guān)鍵字參數(shù)。但采用上述函數(shù)定義,pow(2, 10)和pow(2, 10, 5)都是正確的調(diào)用方式,而pow(2, 10, z=5)是不正確的。

3.支持f字符串調(diào)試

f字符串格式可以更方便地在同一個表達(dá)式內(nèi)進(jìn)行輸出文本和值或變量的計(jì)算,而且效率更高。

Python 3.8 新功能來一波(大部分人都不知道)

輸出4。

在f字符串表達(dá)式末未添加=可以輸出f表達(dá)式本身的值,后面是計(jì)算后的值

Python 3.8 新功能來一波(大部分人都不知道)

輸出為x+1=4。

4.多進(jìn)程共享內(nèi)存

在Python 3.8中,multiprocessing模塊提供了SharedMemory類,可以在不同的Python進(jìn)城之間創(chuàng)建共享的內(nèi)存區(qū)域。

在舊版本的Python中,進(jìn)程間共享數(shù)據(jù)只能通過寫入文件、通過網(wǎng)絡(luò)套接字發(fā)送,或采用Python的pickle模塊進(jìn)行序列化等方式。共享內(nèi)存提供了進(jìn)程間傳遞數(shù)據(jù)的更快的方式,從而使得Python的多處理器和多內(nèi)核編程更有效率。

共享內(nèi)存片段可以作為單純的字節(jié)區(qū)域來分配,也可以作為不可修改的類似于列表的對象來分配,其中能保存數(shù)字類型、字符串、字節(jié)對象、None對象等一小部分Python對象。

5.Typing模塊的改進(jìn)

Python是動態(tài)類型語言,但可以通過typing模塊添加類型提示,以便第三方工具驗(yàn)證Python代碼。Python 3.8給typing添加了一些新元素,因此它能夠支持更健壯的檢查:

final修飾器和Final類型標(biāo)注表明,被修飾或被標(biāo)注的對象在任何時候都不應(yīng)該被重寫、繼承,也不能被重新賦值。

Literal類型將表達(dá)式限定為特定的值或值的列表(不一定是同一個類型的值)。

TypedDict可以用來創(chuàng)建字典,其特定鍵的值被限制在一個或多個類型上。注意這些限制僅用于編譯時確定值的合法性,而不能在運(yùn)行時進(jìn)行限制。

6.新版本的pickle協(xié)議

Python的pickle模塊提供了一種序列化和反序列化Python數(shù)據(jù)結(jié)構(gòu)或?qū)嵗姆椒?,可以將字典原樣保存下來供以后讀取。不同版本的Python支持的pickle協(xié)議不同,而最新版本的支持范圍更廣、更強(qiáng)大、更有效的序列化。

Python 3.8引入的第5版pickle協(xié)議可以用一種新方法pickle對象,它能支持Python的緩沖區(qū)協(xié)議,如bytes、memoryviews或Numpy array等。新的pickle避免了許多在pickle這些對象時的內(nèi)存復(fù)制操作。

NumPy、Apache Arrow等外部庫在各自的Python綁定中支持新的pickle協(xié)議。新的pickle也可以作為Python 3.6和3.7的插件使用,可以從PyPI上安裝。

7.可反轉(zhuǎn)字典

Python3.6中重寫了字典,其使用了PyPy項(xiàng)目貢獻(xiàn)的一個新實(shí)現(xiàn)。除了更快、更緊湊之外,現(xiàn)在的字典還會繼承元素的順序——元素會按照添加的順序排列,就像列表一樣。Python 3.8還允許在字典上使用reversed()。

8.性能改進(jìn)

許多內(nèi)置方法和函數(shù)的速度都提高了20%~50%,因?yàn)橹霸S多函數(shù)都需要進(jìn)行不必要的參數(shù)轉(zhuǎn)換。

一個新的opcode緩存可以提高解釋器中特定指令的速度。但是,目前實(shí)現(xiàn)了速度改進(jìn)的只有LOAD_GLOBAL opcode,其速度提高了40%。以后的版本中也會進(jìn)行類似的優(yōu)化。

文件復(fù)制操作如shutil.copyfile()和shutil.copytree()現(xiàn)在使用平臺特定的調(diào)用和其他優(yōu)化措施,來提高操作速度。

新創(chuàng)建的列表現(xiàn)在平均比以前小了12%,這要?dú)w功于列表構(gòu)造函數(shù)如果能提前知道列表長度的情況下進(jìn)行的優(yōu)化。

Python 3.8中向新型類(如class A(object))的類變量中的寫入操作變得更快。operator.itemgetter()和collections.namedtuple()也得到了速度優(yōu)化。

9.Python C API和CPython實(shí)現(xiàn)

Python最近的版本在CPython(C語言編寫的Python的參考實(shí)現(xiàn))中使用的C API重構(gòu)方面下了很大功夫。到目前為止這些工作還在不斷添加,現(xiàn)有的成果包括:

Python初始化配置(Python Initialization Configuration)有了個新的C API,可以實(shí)現(xiàn)對Python初始化例程更緊密的控制和更詳細(xì)的反饋。如此一來,將Python運(yùn)行時嵌入到其他應(yīng)用程序中就會更容易,也可以以編程方式給Python程序傳遞啟動參數(shù)。新的API還確保了所有Python配置控制都有一個單一的、一致的位置,因此以后的改變(如Python的新的UTF-8模式)也更為容易。

CPython的另一個新的C API——'vectorcall'調(diào)用協(xié)議——可以實(shí)現(xiàn)針對Python內(nèi)部方法更快的調(diào)用,而無需創(chuàng)建臨時對象。該API依然不穩(wěn)定,但已有了明顯的改善。該API計(jì)劃在Python 3.9中成熟。

Python運(yùn)行時的審計(jì)鉤子為Python運(yùn)行時提供了兩個API,可以用來勾住事件,從而保證測試框架、日志和審計(jì)系統(tǒng)等外部工具能夠監(jiān)視到它們。

10.如何下載Python 3.8

從Python 軟件基金會下載Python 3.8 beta版:https://www.python.org/downloads/release/python-380b1/

到此這篇關(guān)于Python 3.8 新功能來一波(大部分人都不知道)的文章就介紹到這了,更多相關(guān)Python 3.8 新功能內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
三级在线观看一区二区| 99久久久久免费精品国产| 成人午夜激情在线| 欧美三级电影在线看| 日韩高清不卡在线| 亚洲欧美日韩在线观看a三区 | 中文字幕在线观看一区二区| 欧美一区二区在线| 国产欧美日韩精品一区| 91论坛在线播放| 欧美大片国产精品| 国产成人精品三级麻豆| 欧美一区二区三区成人| 国产91色综合久久免费分享| 337p亚洲精品色噜噜| 国模套图日韩精品一区二区| 欧美三级视频在线观看| 激情久久久久久久久久久久久久久久| 欧洲色大大久久| 精东粉嫩av免费一区二区三区| 欧美日韩中文一区| 美女视频免费一区| 在线观看免费一区| 久久疯狂做爰流白浆xx| 欧美日本在线播放| 国产精品一区2区| 欧美电视剧在线观看完整版| 成人免费毛片高清视频| 欧美精品一区二区三| 91亚洲精品久久久蜜桃网站 | 亚洲小说欧美激情另类| 久久国产精品免费一区| 日韩中文字幕亚洲一区二区va在线| 91久久奴性调教| 国产在线看一区| 日韩美女一区二区三区| 欧美xxx在线观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 伊人久久大香线蕉综合热线 | 欧美福利在线| 亚洲欧洲日本在线| 亚洲一区国产| 久久精品国产99| 欧美大片国产精品| 欧美色图首页| 亚洲香肠在线观看| 欧美三片在线视频观看| 懂色av噜噜一区二区三区av| 久久一区二区视频| 亚洲激情网址| 亚洲一线二线三线视频| 色婷婷综合久色| 久久精品久久久精品美女| 日韩视频不卡中文| 欧美日韩国产综合在线| 夜色激情一区二区| 欧美日韩高清不卡| 91理论电影在线观看| 一区二区三区四区在线免费观看| 91国产视频在线观看| 成人亚洲一区二区一| 亚洲免费黄色| 国产精品18久久久久| 国产精品国产三级国产有无不卡 | 精品一二三四区| 久久久久久久久久久黄色| 麻豆专区一区二区三区四区五区| 国产精品久久久久久久久久直播| 日本亚洲视频在线| 日韩欧美不卡在线观看视频| 欧美日韩一区在线视频| 一区二区在线观看视频 | 日韩视频免费| 久久99在线观看| 国产三级精品三级| 久久精品道一区二区三区| 国产精品一二三| 欧美国产综合一区二区| 亚久久调教视频| 国产91精品一区二区麻豆网站 | 美女一区二区在线观看| 久久九九全国免费| 久久综合九色综合网站| 粉嫩av一区二区三区| 亚洲日本乱码在线观看| 欧美日韩一区久久| 国产精品av一区二区| 蜜桃视频第一区免费观看| 国产亚洲欧美在线| 鲁大师成人一区二区三区| 成人99免费视频| 一区二区三区在线观看动漫 | 久久国产高清| 99视频一区二区| 日韩av中文字幕一区二区| 欧美不卡在线视频| 亚洲视频大全| 成人精品免费看| 亚洲国产日产av| 久久久久久久久久久黄色| 日本高清视频一区二区| 国产精品swag| 国产一区福利在线| 一区二区三区日韩在线观看| 精品盗摄一区二区三区| 一本一道久久a久久精品综合蜜臀| 欧美+日本+国产+在线a∨观看| 蜜芽一区二区三区| 日韩美女久久久| 欧美一区二区成人| 日韩午夜免费视频| 9i在线看片成人免费| 秋霞成人午夜伦在线观看| 国产精品免费人成网站| 欧美精品第一页| 国产欧美精品| 成人一区二区三区在线观看| 日韩av不卡在线观看| 日韩美女精品在线| 精品国产精品网麻豆系列| 在线观看免费一区| 99日韩精品| 欧美成人国产| 国产精品一卡二| 全国精品久久少妇| 亚洲精品一卡二卡| 欧美精品一区二区三区很污很色的 | 日韩一区二区三区四区五区六区| 国产日本精品| 色综合咪咪久久| 国产精品1024| 蜜臀久久久久久久| 亚洲永久精品大片| 国产精品久久久久国产精品日日| 欧美一卡2卡三卡4卡5免费| 久久一日本道色综合久久| 一区二区精品在线| 黄色亚洲免费| 欧美高清一区| 99久久精品费精品国产一区二区| 国产主播一区二区| 日本不卡一区二区| 香蕉乱码成人久久天堂爱免费| 亚洲人被黑人高潮完整版| 国产欧美日韩精品a在线观看| 亚洲精品在线网站| 欧美一区二区人人喊爽| 欧美日韩亚洲综合在线| 久久大逼视频| 亚洲国产高清一区| 欧美成人久久| 成人a区在线观看| 国产一区在线不卡| 久久99国产精品免费网站| 视频在线观看一区| 亚洲大片在线观看| 中文字幕一区二| 国产精品视频一二| 国产欧美久久久精品影院| 日韩网站在线看片你懂的| 777xxx欧美| 欧美日韩五月天| 欧美三级日韩在线| 欧美日韩精品久久久| 色视频欧美一区二区三区| 色综合久久九月婷婷色综合| 蜜桃久久精品乱码一区二区| 亚洲女优在线| 久久精品五月| 久久综合九色综合久99| 久久久久久久久久久久久9999| 欧美一级视频| 免费在线一区二区| 午夜影院日韩| 久久不射中文字幕| 美女主播一区| 色哟哟一区二区在线观看 | 91久久精品一区二区| 久久尤物视频| 欧美午夜精品久久久| 欧美日韩精品三区| 91精品国产麻豆| 日韩欧美一区在线| 欧美精品一区二区在线观看| 久久天堂av综合合色蜜桃网| 久久久精品综合| 国产精品三级电影| 亚洲欧洲精品成人久久奇米网| 亚洲视频免费看| 亚洲一区二区黄色| 丝袜美腿亚洲色图| 免费高清在线一区| 国产在线精品国自产拍免费| 国产精品综合视频| 成人美女在线视频| 欧美+日本+国产+在线a∨观看| 狠狠爱成人网| 国产精品久久久久久久久久妞妞 | www成人在线观看| 国产午夜精品久久久久久免费视 |