Python3.8新功能有什么優(yōu)點-創(chuàng)新互聯(lián)

本篇內容主要講解“Python 3.8新功能有什么優(yōu)點”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python 3.8新功能有什么優(yōu)點”吧!

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站制作、成都網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的通州網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

3.8是Python這個流行語言的最新版本,適用于從自動化腳本編寫、機器學習到Web開發(fā)的所有內容。現(xiàn)在可以獲得官方測試版,Python 3.8帶來了許多靈活的語法更改,內存共享,更高效的序列化和反序列化,修改后的詞典等等。

當然,Python 3.8也引領了各種性能改進。總體結果是讓Python更快,更簡潔,更一致,更現(xiàn)代化。以下是Python 3.8中最新,最重要的內容。

賦值表達式

Python 3.8中最明顯的變化是賦值表達式,它使用了酷似海象的運算符(:=)。賦值表達式允許在表達式的上下文中將值賦給變量,甚至是尚不存在的變量,而不是作為獨立語句。

1.  while (line := file.readline()) != "end": 
2.  print(chunk)

在此示例中,如果變量行不存在,則創(chuàng)建變量行,然后從file.readline()分配值。然后檢查行以查看它是否等于“結束”。如果不是,則讀取下一行,存儲在行中,測試,等等。

賦值表達式遵循Python中可理解的簡潔性的傳統(tǒng),包括列表推導。在這里,我們的想法是減少一些易于出現(xiàn)在某些Python編程模式中的繁瑣樣板。例如,上面的代碼片段通常需要多于兩行代碼才能表達。

強制某些參數(shù)僅為位置

函數(shù)定義的新語法,僅位置參數(shù),允許開發(fā)人員強制某些參數(shù)僅為位置。這消除了關于函數(shù)定義中哪些參數(shù)是位置的以及哪些是關鍵字參數(shù)的任何歧義。

僅限位置參數(shù)可以定義場景,例如,函數(shù)接受任何關鍵字參數(shù)但也可以接受一個或多個位置。 Python內置函數(shù)通常就是這種情況,因此為Python開發(fā)人員提供了一種方法,可以增強語言的一致性。如果你依然在編程的世界里迷茫,不知道自己的未來規(guī)劃可以加入我們的Python秋秋裙去784掉758文214字看看前輩們如何學習的!交流經(jīng)驗!自己是一名高級python開發(fā)工程師,從基礎的python腳本到web開發(fā)、爬蟲、django、數(shù)據(jù)挖掘等,零基礎到項目實戰(zhàn)的資料都有整理。送給每一位python的小伙伴!分享一些學習的方法和需要注意的小細節(jié)

Python文檔中的一個例子:

1.  def pow(x, y, z=None, /): 
2.  r = x**y 
3.  if z is not None: 
4.  r %= z 
5.  return r

/將位置與關鍵字參數(shù)分開; 在這個例子中,所有的參數(shù)都是位置的。在以前的Python版本中,z將被視為關鍵字參數(shù)。 給定上述函數(shù)定義,pow(2,10)和pow(2,10,5)是有效調用,但pow(2,10,z = 5)不是。

F字符串調試支持

f-string格式提供了一種方便(且性能更高)的方式來在同一表達式中打印文本和計算值或變量:

1.  x = 3  
2.  print(f'{x+1}')

這將打印4。

在f字符串表達式的末尾添加=會打印f-string表達式本身的文本,后跟值:

1.  x = 3 
2.  print (f'{x+1=}')

這將打印x + 1 = 4。

多處理模塊共享內存

使用Python 3.8,多處理模塊現(xiàn)在提供了一個SharedMemory類,允許在不同的Python進程之間創(chuàng)建和共享內存區(qū)域。

在以前的Python版本中,只能通過將數(shù)據(jù)寫入文件,通過網(wǎng)絡套接字發(fā)送或使用Python的pickle模塊對其進行序列化來在進程之間共享數(shù)據(jù)。共享內存為在進程之間傳遞數(shù)據(jù)提供了更快的路徑,使Python能夠更有效地使用多個處理器和處理器內核。

共享內存段可以分配為字節(jié)的原始區(qū)域,或者它們可以使用不可變的類似列表的對象,這些對象存儲Python對象的一小部分 - 數(shù)字類型,字符串,字節(jié)對象和None對象。

打字模塊的改進

Python是動態(tài)類型的,但支持通過輸入模塊使用類型提示,以允許第三方工具驗證Python程序。 Python 3.8為鍵入添加了新元素,以便更加可靠地進行檢查:

  • final decorator 和Final type annotation表明decorated/annotated 的對象不應在任何位置被覆蓋,子類化或重新分配。

  • Literal類型將表達式限制為特定值或值列表,不一定是相同類型。

  • TypedDict類型允許創(chuàng)建字典,其中與某些鍵關聯(lián)的值僅限于一個或多個特定類型。 請注意,這些限制僅限于在編譯時可以確定的內容,而不是在運行時。

新版本的pickle協(xié)議

Python的pickle模塊提供了一種序列化和反序列化Python數(shù)據(jù)結構的方法,例如,允許將字典原樣保存到文件中并在以后重新加載。不同版本的Python支持不同級別的pickle協(xié)議,更新版本支持更廣泛的功能和更高效的序列化。

使用Python 3.8引入的pickle第5版提供了一種新方法,來pickle實現(xiàn)Python緩沖區(qū)協(xié)議的對象,例如字節(jié),內存視圖或NumPy數(shù)組。新的pickle減少了必須為這些對象制作的內存副本數(shù)量。

像NumPy和Apache Arrow這樣的外部庫在他們的Python綁定中支持新的pickle協(xié)議。新的pickle也可以作為PyPI的Python 3.6和Python 3.7的附件提供。

可逆詞典

Python中的字典完全用Python 3.6重寫,使用PyPy項目提供的新實現(xiàn)。除了更快更緊湊外,詞典現(xiàn)在還具有其元素的固有順序;它們是在添加時訂購的,就像列表一樣。 Python 3.8允許在字典上使用reversed()。

性能改進

  • 許多內置方法和函數(shù)已經(jīng)加速了20%到50%,因為其中許多方法和函數(shù)不必要地轉換傳遞給它們的參數(shù)。

  • 新的操作碼緩存可以加速解釋器中的某些指令。但是,目前唯一實現(xiàn)的加速是針對LOAD_GLOBAL操作碼,現(xiàn)在快40%。計劃對更高版本的Python進行類似的優(yōu)化。

  • 文件復制操作(例如shutil.copyfile()和shutil.copytree())現(xiàn)在使用特定于平臺的調用和其他優(yōu)化來加速操作。

  • 由于優(yōu)化利用列表構造函數(shù)對象的長度(如果事先已知),現(xiàn)在新創(chuàng)建的列表現(xiàn)在平均比以前小12%。

  • 在Python 3.8中,在新式類(例如,類A(對象))上寫入類變量要快得多。

  • operator.itemgetter()和collections.namedtuple()也有新的速度優(yōu)化。

Python C API和CPython改進

在Python的最新版本中,主要的工作是重構CPython中使用的C API,這是用C編寫的Python的參考實現(xiàn)。到目前為止,這項工作只產(chǎn)生了增量變化,但它們正在加起來:

  • 用于Python初始化配置的新C API允許對Python的初始化例程進行更嚴格的控制和更詳細的反饋。 這樣可以更輕松地將Python運行時嵌入到應用程序中,并以編程方式將啟動參數(shù)傳遞給Python。 這個新API還旨在確保所有Python的配置控件都具有單一,一致的主頁,以便將來更改(如Python的新UTF-8模式)更容易插入。

  • 另一個用于CPython的新C API,即“vectorcall”調用協(xié)議,允許更快地調用內部Python方法,而無需創(chuàng)建臨時對象來處理調用。API仍然不穩(wěn)定,但已暫時可用。 計劃是從Python 3.9開始最終確定它。

  • Python運行時審計掛鉤在Python運行時中提供了兩個API,用于掛鉤事件并使它們可以觀察到外部工具,如測試框架或日志記錄和審計系統(tǒng)。

到此,相信大家對“Python 3.8新功能有什么優(yōu)點”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

名稱欄目:Python3.8新功能有什么優(yōu)點-創(chuàng)新互聯(lián)
URL分享:http://muchs.cn/article48/cshpep.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、靜態(tài)網(wǎng)站移動網(wǎng)站建設、商城網(wǎng)站、標簽優(yōu)化、品牌網(wǎng)站設計

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營