創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個客戶多一個朋友!專注中小微企業(yè)官網(wǎng)定制,網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。這篇文章將為大家詳細(xì)講解有關(guān)Python 3.8 有哪些新功能,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
Python 3.8是Python語言的最新版本,它適合用于編寫腳本、自動化以及機器學(xué)習(xí)和Web開發(fā)等各種任務(wù)?,F(xiàn)在Python 3.8已經(jīng)進入官方的beta階段,這個版本帶來了許多語法改變、內(nèi)存共享、更有效的序列化和反序列化、改進的字典和更多新功能。
Python 3.8還引入了許多性能改進。總的來說,我們即將擁有一個更快、更精確、更一致和更現(xiàn)代的Python。下面是Python 3.8的新功能和最重要的改變。
賦值表達(dá)式
Python 3.8最明顯的變化就是賦值表達(dá)式,即:=操作符。賦值表達(dá)式可以講一個值賦給一個變量,即使變量不存在也可以。它可以用在表達(dá)式中,無需作為單獨的語句出現(xiàn)。
while (line := file.readline()) != "end": print(chunk)
上例中,如果變量line不存在則會被創(chuàng)建,然后將file.readline()的返回值賦給它。然后檢查line是否為"end"。如果不是,則讀取下一行,保存在line中,然后繼續(xù)測試。
賦值表達(dá)式遵循了Python一貫簡潔的傳統(tǒng),就像列表解析式一樣。其目的在于避免在特定的Python編程模式中出現(xiàn)一些枯燥的樣板代碼。例如,上述代碼用一般寫法需要多寫兩行代碼。
僅通過位置指定的參數(shù)
僅通過位置指定的參數(shù)是函數(shù)定義中的一個新語法,可以讓程序員強迫某個參數(shù)只能通過位置來指定。這樣可以解決Python函數(shù)定義中哪個參數(shù)是位置參數(shù)、哪個參數(shù)是關(guān)鍵字參數(shù)的模糊性。
僅通過位置指定的參數(shù)可以用于如下情況:某個函數(shù)接受任意關(guān)鍵字參數(shù),但也能接受一個或多個未知參數(shù)。Python的內(nèi)置函數(shù)通常都是這種情況,所以允許程序員這樣做,能增強Python語言的一致性。
Python文檔中給出的例子如下:
def pow(x, y, z=None, /): r = x**y if z is not None: r %= z return r
符號 / 分隔了位置參數(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)是不正確的。
支持f字符串調(diào)試
f字符串格式可以更方便地在同一個表達(dá)式內(nèi)進行輸出文本和值或變量的計算,而且效率更高。
x = 3 print(f'{x+1}')
輸出4。
在f字符串表達(dá)式末未添加=可以輸出f表達(dá)式本身的值,后面是計算后的值
x = 3 print (f'{x+1=}')
多進程共享內(nèi)存
在Python 3.8中,multiprocessing模塊提供了SharedMemory類,可以在不同的Python進城之間創(chuàng)建共享的內(nèi)存區(qū)域。
在舊版本的Python中,進程間共享數(shù)據(jù)只能通過寫入文件、通過網(wǎng)絡(luò)套接字發(fā)送,或采用Python的pickle模塊進行序列化等方式。共享內(nèi)存提供了進程間傳遞數(shù)據(jù)的更快的方式,從而使得Python的多處理器和多內(nèi)核編程更有效率。
共享內(nèi)存片段可以作為單純的字節(jié)區(qū)域來分配,也可以作為不可修改的類似于列表的對象來分配,其中能保存數(shù)字類型、字符串、字節(jié)對象、None對象等一小部分Python對象。
Typing模塊的改進
Python是動態(tài)類型語言,但可以通過typing模塊添加類型提示,以便第三方工具驗證Python代碼。Python 3.8給typing添加了一些新元素,因此它能夠支持更健壯的檢查:
final修飾器和Final類型標(biāo)注表明,被修飾或被標(biāo)注的對象在任何時候都不應(yīng)該被重寫、繼承,也不能被重新賦值。
Literal類型將表達(dá)式限定為特定的值或值的列表(不一定是同一個類型的值)。
TypedDict可以用來創(chuàng)建字典,其特定鍵的值被限制在一個或多個類型上。注意這些限制僅用于編譯時確定值的合法性,而不能在運行時進行限制。
可反轉(zhuǎn)字典
Python3.6中重寫了字典,其使用了PyPy項目貢獻的一個新實現(xiàn)。除了更快、更緊湊之外,現(xiàn)在的字典還會繼承元素的順序——元素會按照添加的順序排列,就像列表一樣。Python 3.8還允許在字典上使用reversed()。
關(guān)于Python 3.8 有哪些新功能就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
當(dāng)前文章:Python3.8有哪些新功能-創(chuàng)新互聯(lián)
瀏覽路徑:http://jinyejixie.com/article42/djegec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、云服務(wù)器、電子商務(wù)、定制開發(fā)、用戶體驗、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容