Python3.10和Python3.9版本之間的差異介紹
介紹:
在過去的幾十年里,Python 在編程或腳本語(yǔ)言領(lǐng)域?yàn)樽约簞?chuàng)造了一個(gè)名字。python 受到高度青睞的主要原因是其極端的用戶友好性。Python 還用于處理復(fù)雜的程序或編碼挑戰(zhàn)。
機(jī)器學(xué)習(xí) (ML)、人工智能 (AI) 和數(shù)據(jù)科學(xué)等新興領(lǐng)域也滿足了學(xué)習(xí)這種語(yǔ)言的高需求。與 Java、C# 和其他語(yǔ)言等傳統(tǒng)語(yǔ)言相比,Python 是一種強(qiáng)大的編程語(yǔ)言,迅速成為開發(fā)人員、數(shù)據(jù)科學(xué)家和 AI/ML 愛好者的最愛。
Python 作為一種編程語(yǔ)言,有許多用例吸引了 IT 行業(yè)的學(xué)習(xí)者和專家。在基本層面上,Python 可以用作編程語(yǔ)言來(lái)練習(xí)數(shù)據(jù)結(jié)構(gòu)和算法或開發(fā)簡(jiǎn)單的項(xiàng)目或游戲。
Python 作為一種語(yǔ)言的多功能性使其用戶可以輕松擴(kuò)展他們的項(xiàng)目并創(chuàng)建網(wǎng)站、軟件或預(yù)測(cè)模型。自動(dòng)化正在接管 IT 行業(yè)的大部分領(lǐng)域,而 Python 作為用于自動(dòng)化數(shù)據(jù)分析或數(shù)據(jù)科學(xué)任務(wù)的首選語(yǔ)言處于領(lǐng)先地位。
除此之外,Python 擁有大量的庫(kù)和強(qiáng)大的程序員社區(qū),他們不斷為 Python 作為一種語(yǔ)言增加更多價(jià)值。
了解 Python 及其用例:
初學(xué)者被 Python 吸引的眾多原因之一是它的用戶友好性。Python 摒棄了令人生畏的分號(hào),并使用簡(jiǎn)單的縮進(jìn)結(jié)構(gòu)作為其語(yǔ)法。Python 還發(fā)現(xiàn)了一個(gè)用例作為需要可編程接口的應(yīng)用程序的擴(kuò)展。
Python 的其他一些好處包括其最令人垂涎的功能,即它的庫(kù)。Python 庫(kù)是一種巨大的資源,可用于許多關(guān)鍵的代碼編寫,例如:
- 基于正則表達(dá)式的代碼
- 字符串處理
- 互聯(lián)網(wǎng)協(xié)議,如 HTTP、FTP、SMTP、XML-RPC、POP、IMAP
- 統(tǒng)一碼
- 文件系統(tǒng)和計(jì)算文件之間的差異
- CGI編程
- 數(shù)學(xué)建模
- 數(shù)據(jù)庫(kù)查詢
- 數(shù)據(jù)分析
- 數(shù)據(jù)可視化
- 自動(dòng)化代碼
所有這些功能都可以在許多 Unix、Linux、macOS 和 Windows 系統(tǒng)上執(zhí)行。
分析 Python 3.9 V/s Python 3.10 的差異
多年來(lái),Python 進(jìn)行了大量升級(jí),并且在新版本中添加了許多功能。在這里,讓我們關(guān)注 Python 添加的兩個(gè)最新版本。探索更新的功能可以幫助您順利使用它,當(dāng)然,還可以找到使用更新庫(kù)的更智能的工作方式。
下面所附的所有代碼僅用于教育目的,并且取自與新版本(例如 Python 3.9 和 Python 3.10)一起發(fā)布的原始 Python 文檔
Python 3.9:
IANA 時(shí)區(qū)數(shù)據(jù)庫(kù)
在 Python 3.9 中創(chuàng)建了一個(gè)名為 zoneinfo 的新模塊。通過此模塊,您可以訪問 IANA 或互聯(lián)網(wǎng)號(hào)碼分配機(jī)構(gòu)時(shí)區(qū)數(shù)據(jù)庫(kù)。默認(rèn)情況下,此模塊使用系統(tǒng)的本地時(shí)區(qū)數(shù)據(jù)。
代碼 :
print(datetime(2021, 7, 2, 12, 0).astimezone()) print(datetime(2021, 7, 2, 12, 0).astimezone().strftime("%Y-%m-%d %H:%M:%S %Z")) print(datetime(2021, 7, 2, 12, 0).astimezone(timezone.utc))
輸出 :
2020-07-2 12:00:00-05:00 2020-07-2 12:00:00 EST 2020-07-2 17:00:00+00:00
合并和更新字典的函數(shù)
Python 3.9 增加了另一個(gè)很酷的功能,引起了很多關(guān)注。Python 3.9 現(xiàn)在可以使用運(yùn)算符合并或更新字典。新的運(yùn)算符 ie ( | ) 和 ( |= ) 已添加到 Python 3.9 內(nèi)置 dict 類中。
您可以使用類似于下面標(biāo)記的代碼訪問這些運(yùn)算符以合并或更新字典。
代碼 :
>>> a = {‘v': 1, 'art': 2, 'py': 3} >>> b = {'v': 'd', 'topic': 'python3.9'}
合并代碼:
>>> a | b {'art': 2, 'py': 3, 'v':'d', 'topic': 'python3.9'} >>> b | a {'v': 1,'art': 2, 'py': 3, 'topic':'python3.9' }
更新代碼:
>>> a |= b >>> a {'art': 2, 'py': 3,'v':'d'}
刪除前綴和后綴
使用 Python 3.9 中添加的新功能可以更輕松地解決字符串處理問題。下面標(biāo)記的代碼用于從示例字符串中去除前綴和后綴。以下示例代碼中使用的新方法是:
removeprefix() - 這個(gè)方法根據(jù)它的功能恰當(dāng)?shù)孛?,它是去除給定樣本字符串中存在的前綴。removesuffix() – 此方法從傳遞給它的示例字符串中刪除現(xiàn)有的后綴。
由于程序員對(duì)其缺陷性質(zhì)的負(fù)面評(píng)價(jià),創(chuàng)建了這些新方法來(lái)替換舊的 strip() 方法。下面標(biāo)記的是一個(gè)示例代碼,可以幫助您了解這兩種新方法的實(shí)現(xiàn)。
代碼 :
print("海擁在外面玩".removeprefix("海擁"))
輸出:
‘在外面玩'
在 Python 3.9 中對(duì)內(nèi)置泛型類型使用類型提示
Python 3.9 版本啟用了對(duì)所有標(biāo)準(zhǔn)集合的通用語(yǔ)法的支持功能,這些功能目前在輸入模塊中可用。泛型類型通常被定義為一個(gè)容器,例如一個(gè)列表。它是一種可以輕松參數(shù)化的類型。通常,泛型類型具有一種或多種類型的參數(shù),而參數(shù)化泛型是具有容器元素的泛型數(shù)據(jù)類型的特定實(shí)例,例如,列表或字典內(nèi)置集合類型是支持的各種類型,而不是專門支持的類型使用 Typing.Dict 或 typing.List
代碼 :
def print_value(input: str): # 指定傳遞的值將是字符串類型
通過使用下面的方式,我們將能夠找到以下輸入是否為字符串
Python 3.10:
使用結(jié)構(gòu)模式進(jìn)行匹配
全新的 Python 3.10 中引入了一項(xiàng)稱為結(jié)構(gòu)模式匹配的新功能。此匹配過程與相同的匹配案例邏輯一起運(yùn)行,但它還與比較對(duì)象進(jìn)行比較以跟蹤給定模式。
Python 3.9 的代碼:
http_code = "419" if http_code == "200": print("OK") elif http_code == "404": print("Not Found Here") elif http_code == "419": print("Value Found") else: print("Code not found")
Python 3.10 的代碼:
http_code = "419" match http_code: case "200": print("Hi") case "404": print("Not Found") case "419": print("You Found Me") case _: #Default Case print("Code not found")
改進(jìn)的語(yǔ)法錯(cuò)誤消息
大量程序員在錯(cuò)誤匹配或調(diào)試代碼方面面臨困難。Python 3.10 添加了一個(gè)非常用戶友好的特性,稱為關(guān)聯(lián)建議,它帶有語(yǔ)法錯(cuò)誤消息標(biāo)記。這有助于您快速找到其中存在錯(cuò)誤或錯(cuò)誤的代碼的修復(fù)程序。
代碼 :
named_car = 77 print(new_car)
輸出 :
NameError: name 'new_car' is not defined. Did you mean: named_car?
更好的類型提示
從 Python 3.9 升級(jí),我們可以不使用 union 關(guān)鍵字而只使用 OR 符號(hào)來(lái)分配參數(shù)的多種輸入類型。為同一個(gè)變量定義多個(gè)輸入類型是一種更簡(jiǎn)單的方法
Python 3.9 的代碼:
def add(a: Union[int, float], b: Union[int, float]):
Python 3.10 的代碼:
def add(a: int | float, b: int | float):
改進(jìn)的上下文管理器
上下文管理器有助于處理文件等資源。您現(xiàn)在可以在單個(gè)塊中使用多個(gè)上下文。這將大大增強(qiáng)您的代碼,因?yàn)槟辉傩枰鄠€(gè)塊或語(yǔ)句。
以前的語(yǔ)法:
with open('output.log', 'rw') 作為 fout: fout.write('hello')
最新語(yǔ)法:
with (open('output.log', 'w') as fout, open('input.csv') as fin): fout.write(fin.read())
到此這篇關(guān)于Python3.10和Python3.9版本之間的差異介紹的文章就介紹到這了,更多相關(guān)Python3.10和Python3.9版本差異內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python使用cartopy庫(kù)繪制臺(tái)風(fēng)路徑代碼
大家好,本篇文章主要講的是python使用cartopy庫(kù)繪制臺(tái)風(fēng)路徑代碼,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-02-02python批量修改文件夾及其子文件夾下的文件內(nèi)容
這篇文章主要為大家詳細(xì)介紹了python批量修改文件夾及其子文件夾下的文件內(nèi)容,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03python計(jì)算auc指標(biāo)實(shí)例
下面小編就為大家?guī)?lái)一篇python計(jì)算auc指標(biāo)實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-07-07python實(shí)現(xiàn)批量修改圖片格式和尺寸
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)批量修改圖片格式和尺寸的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06Python產(chǎn)生一個(gè)數(shù)值范圍內(nèi)的不重復(fù)的隨機(jī)數(shù)的實(shí)現(xiàn)方法
這篇文章主要介紹了Python產(chǎn)生一個(gè)數(shù)值范圍內(nèi)的不重復(fù)的隨機(jī)數(shù)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08PyQt5使用QtDesigner實(shí)現(xiàn)多界面切換程序的全過程
Pyqt5是Python中一個(gè)可視化超級(jí)好用的庫(kù),下面這篇文章主要給大家介紹了關(guān)于PyQt5使用QtDesigner實(shí)現(xiàn)多界面切換程序的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06解決Python selenium get頁(yè)面很慢時(shí)的問題
今天小編就為大家分享一篇解決Python selenium get頁(yè)面很慢時(shí)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-01-01Win10環(huán)境python3.7安裝dlib模塊趟過的坑
這篇文章主要介紹了Win10環(huán)境python3.7安裝dlib模塊趟過的坑,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08