濮阳杆衣贸易有限公司

主頁 > 知識庫 > 淺談Python3.10 和 Python3.9 之間的差異

淺談Python3.10 和 Python3.9 之間的差異

熱門標(biāo)簽:銀川電話機(jī)器人電話 高德地圖標(biāo)注收入咋樣 鶴壁手機(jī)自動外呼系統(tǒng)違法嗎 B52系統(tǒng)電梯外呼顯示E7 企業(yè)微信地圖標(biāo)注 萊蕪電信外呼系統(tǒng) 地圖標(biāo)注多個 怎么辦理400客服電話 沈陽防封電銷電話卡

介紹:

在過去的幾十年里,Python 在編程或腳本語言領(lǐng)域?yàn)樽约簞?chuàng)造了一個名字。python 受到高度青睞的主要原因是其極端的用戶友好性。Python 還用于處理復(fù)雜的程序或編碼挑戰(zhàn)。機(jī)器學(xué)習(xí) (ML)、人工智能 (AI) 和數(shù)據(jù)科學(xué)等新興領(lǐng)域也滿足了學(xué)習(xí)這種語言的高需求。與 Java、C# 和其他語言等傳統(tǒng)語言相比,Python 是一種強(qiáng)大的編程語言,迅速成為開發(fā)人員、數(shù)據(jù)科學(xué)家和 AI/ML 愛好者的最愛。

Python 作為一種編程語言,有許多用例吸引了 IT 行業(yè)的學(xué)習(xí)者和專家。在基本層面上,Python 可以用作編程語言來練習(xí)數(shù)據(jù)結(jié)構(gòu)和算法或開發(fā)簡單的項(xiàng)目或游戲。Python 作為一種語言的多功能性使其用戶可以輕松擴(kuò)展他們的項(xiàng)目并創(chuàng)建網(wǎng)站、軟件或預(yù)測模型。自動化正在接管 IT 行業(yè)的大部分領(lǐng)域,而 Python 作為用于自動化數(shù)據(jù)分析或數(shù)據(jù)科學(xué)任務(wù)的首選語言處于領(lǐng)先地位。除此之外,Python 擁有大量的庫和強(qiáng)大的程序員社區(qū),他們不斷為 Python 作為一種語言增加更多價值。

了解 Python 及其用例:

初學(xué)者被 Python 吸引的眾多原因之一是它的用戶友好性。Python 摒棄了令人生畏的分號,并使用簡單的縮進(jìn)結(jié)構(gòu)作為其語法。Python 還發(fā)現(xiàn)了一個用例作為需要可編程接口的應(yīng)用程序的擴(kuò)展。Python 的其他一些好處包括其最令人垂涎​​的功能,即它的庫。Python 庫是一種巨大的資源,可用于許多關(guān)鍵的代碼編寫,例如:

  • 基于正則表達(dá)式的代碼
  • 字符串處理
  • 互聯(lián)網(wǎng)協(xié)議,如 HTTP、FTP、SMTP、XML-RPC、POP、IMAP
  • 統(tǒng)一碼
  • 文件系統(tǒng)和計算文件之間的差異
  • CGI編程
  • 數(shù)學(xué)建模
  • 數(shù)據(jù)庫查詢
  • 數(shù)據(jù)分析
  • 數(shù)據(jù)可視化
  • 自動化代碼

所有這些功能都可以在許多 Unix、Linux、macOS 和 Windows 系統(tǒng)上執(zhí)行。

分析 Python 3.9 V/s Python 3.10 的差異

多年來,Python 進(jìn)行了大量升級,并且在新版本中添加了許多功能。在這里,讓我們關(guān)注 Python 添加的兩個最新版本。探索更新的功能可以幫助您順利使用它,當(dāng)然,還可以找到使用更新庫的更智能的工作方式。下面所附的所有代碼僅用于教育目的,并且取自與新版本(例如 Python 3.9 和 Python 3.10)一起發(fā)布的原始 Python 文檔

Python 3.9:

IANA 時區(qū)數(shù)據(jù)庫

在 Python 3.9 中創(chuàng)建了一個名為 zoneinfo 的新模塊。通過此模塊,您可以訪問 IANA 或互聯(lián)網(wǎng)號碼分配機(jī)構(gòu)時區(qū)數(shù)據(jù)庫。默認(rèn)情況下,此模塊使用系統(tǒng)的本地時區(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 增加了另一個很酷的功能,引起了很多關(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() - 這個方法根據(jù)它的功能恰當(dāng)?shù)孛?,它是去除給定樣本字符串中存在的前綴。
  • removesuffix() – 此方法從傳遞給它的示例字符串中刪除現(xiàn)有的后綴。

由于程序員對其缺陷性質(zhì)的負(fù)面評價,創(chuàng)建了這些新方法來替換舊的 strip() 方法。下面標(biāo)記的是一個示例代碼,可以幫助您了解這兩種新方法的實(shí)現(xiàn)。
代碼 :

print("海擁在外面玩".removeprefix("海擁"))

輸出:
‘在外面玩'

在 Python 3.9 中對內(nèi)置泛型類型使用類型提示

Python 3.9 版本啟用了對所有標(biāo)準(zhǔn)集合的通用語法的支持功能,這些功能目前在輸入模塊中可用。泛型類型通常被定義為一個容器,例如一個列表。它是一種可以輕松參數(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)行,但它還與比較對象進(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)的語法錯誤消息

大量程序員在錯誤匹配或調(diào)試代碼方面面臨困難。Python 3.10 添加了一個非常用戶友好的特性,稱為關(guān)聯(lián)建議,它帶有語法錯誤消息標(biāo)記。這有助于您快速找到其中存在錯誤或錯誤的代碼的修復(fù)程序。
代碼 :

named_car = 77
print(new_car)

輸出 :
NameError: name 'new_car' is not defined. Did you mean: named_car?

更好的類型提示

從 Python 3.9 升級,我們可以不使用 union 關(guān)鍵字而只使用 OR 符號來分配參數(shù)的多種輸入類型。為同一個變量定義多個輸入類型是一種更簡單的方法

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)在可以在單個塊中使用多個上下文。這將大大增強(qiáng)您的代碼,因?yàn)槟辉傩枰鄠€塊或語句。
以前的語法:

with open('output.log', 'rw') 作為 fout:
    fout.write('hello')

最新語法:

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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解Python 3.10 中的新功能和變化
  • Python 3.10 的首個 PEP 誕生,內(nèi)置類型 zip() 迎來新特性(推薦)

標(biāo)簽:呼倫貝爾 葫蘆島 安慶 湘西 三亞 烏魯木齊 銀川 呼倫貝爾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談Python3.10 和 Python3.9 之間的差異》,本文關(guān)鍵詞  淺談,Python3.10,和,Python3.9,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺談Python3.10 和 Python3.9 之間的差異》相關(guān)的同類信息!
  • 本頁收集關(guān)于淺談Python3.10 和 Python3.9 之間的差異的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    海伦市| 姚安县| 定南县| 宜城市| 闵行区| 许昌市| 株洲县| 南康市| 都安| 定州市| 银川市| 都江堰市| 彭水| 湛江市| 七台河市| 新兴县| 阳山县| 九台市| 万载县| 中牟县| 治多县| 兴和县| 航空| 高唐县| 平谷区| 乌苏市| 华坪县| 西林县| 嘉黎县| 六盘水市| 石河子市| 崇明县| 泌阳县| 宁国市| 桂林市| 巴马| 安远县| 油尖旺区| 临武县| 治多县| 临海市|