您現在的位置是:首頁 > 棋牌

你需要知道的 Python 3.10 和 Python 3.9 之間的差異

  • 由 我頭禿了 發表于 棋牌
  • 2022-12-19
簡介List程式碼 :def print_value(input: str): # 指定傳遞的值將是字串型別透過使用下面的方式,我們將能夠找到以下輸入是否為字串Python 3

模式匹配是什麼意思

介紹:

在過去的幾十年裡,Python 在程式設計或指令碼語言領域為自己創造了一個名字。python 受到高度青睞的主要原因是其極端的使用者友好性。Python 還用於處理複雜的程式或編碼挑戰。機器學習 (ML)、人工智慧 (AI) 和資料科學等新興領域也滿足了學習這種語言的高需求。與 Java、C# 和其他語言等傳統語言相比,Python 是一種強大的程式語言,迅速成為開發人員、資料科學家和 AI/ML 愛好者的最愛。

Python 作為一種程式語言,有許多用例吸引了 IT 行業的學習者和專家。在基本層面上,Python 可以用作程式語言來練習資料結構和演算法或開發簡單的專案或遊戲。Python 作為一種語言的多功能性使其使用者可以輕鬆擴充套件他們的專案並建立網站、軟體或預測模型。自動化正在接管 IT 行業的大部分領域,而 Python 作為用於自動化資料分析或資料科學任務的首選語言處於領先地位。除此之外,Python 擁有大量的庫和強大的程式設計師社群,他們不斷為 Python 作為一種語言增加更多價值。

瞭解 Python 及其用例:

初學者被 Python 吸引的眾多原因之一是它的使用者友好性。Python 摒棄了令人生畏的分號,並使用簡單的縮排結構作為其語法。Python 還發現了一個用例作為需要可程式設計介面的應用程式的擴充套件。Python 的其他一些好處包括其最令人垂涎的功能,即它的庫。Python 庫是一種巨大的資源,可用於許多關鍵的程式碼編寫,例如:

基於正則表示式的程式碼

字串處理

網際網路協議,如 HTTP、FTP、SMTP、XML-RPC、POP、IMAP

統一碼

檔案系統和計算檔案之間的差異

CGI程式設計

數學建模

資料庫查詢

資料分析

資料視覺化

自動化程式碼

所有這些功能都可以在許多 Unix、Linux、macOS 和 Windows 系統上執行。

分析 Python 3。9 V/s Python 3。10 的差異

多年來,Python 進行了大量升級,並且在新版本中添加了許多功能。在這裡,讓我們關注 Python 新增的兩個最新版本。探索更新的功能可以幫助您順利使用它,當然,還可以找到使用更新庫的更智慧的工作方式。下面所附的所有程式碼僅用於教育目的,並且取自與新版本(例如 Python 3。9 和 Python 3。10)一起釋出的原始 Python 文件

Python 3。9:

IANA 時區資料庫

在 Python 3。9 中建立了一個名為 zoneinfo 的新模組。透過此模組,您可以訪問 IANA 或網際網路號碼分配機構時區資料庫。預設情況下,此模組使用系統的本地時區資料。

程式碼 :

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:002020-07-2 12:00:00 EST2020-07-2 17:00:00+00:00

合併和更新字典的函式

Python 3。9 增加了另一個很酷的功能,引起了很多關注。Python 3。9 現在可以使用運算符合並或更新字典。新的運算子 ie ( | ) 和 ( |= ) 已新增到 Python 3。9 內建 dict 類中。您可以使用類似於下面標記的程式碼訪問這些運算子以合併或更新字典。

程式碼 :

>>> 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 中新增的新功能可以更輕鬆地解決字串處理問題。下面標記的程式碼用於從示例字串中去除字首和字尾。以下示例程式碼中使用的新方法是:

removeprefix() - 這個方法根據它的功能恰當地命名,它是去除給定樣本字串中存在的字首。

removesuffix() – 此方法從傳遞給它的示例字串中刪除現有的字尾。

由於程式設計師對其缺陷性質的負面評價,建立了這些新方法來替換舊的 strip() 方法。下面標記的是一個示例程式碼,可以幫助您瞭解這兩種新方法的實現。

程式碼 :

print(“海擁在外面玩”。removeprefix(“海擁”))

輸出:

‘在外面玩’

在 Python 3。9 中對內建泛型型別使用型別提示

Python 3。9 版本啟用了對所有標準集合的通用語法的支援功能,這些功能目前在輸入模組中可用。泛型型別通常被定義為一個容器,例如一個列表。它是一種可以輕鬆引數化的型別。通常,泛型型別具有一種或多種型別的引數,而引數化泛型是具有容器元素的泛型資料型別的特定例項,例如,列表或字典內建集合型別是支援的各種型別,而不是專門支援的型別使用 Typing。Dict 或 typing。List

程式碼 :

def print_value(input: str): # 指定傳遞的值將是字串型別

透過使用下面的方式,我們將能夠找到以下輸入是否為字串

Python 3。10:

使用結構模式進行匹配 全新的 Python 3。10 中引入了一項稱為結構模式匹配的新功能。此匹配過程與相同的匹配案例邏輯一起執行,但它還與比較物件進行比較以跟蹤給定模式。

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”)

改進的語法錯誤訊息

大量程式設計師在錯誤匹配或除錯程式碼方面面臨困難。Python 3。10 添加了一個非常使用者友好的特性,稱為關聯建議,它帶有語法錯誤訊息標記。這有助於您快速找到其中存在錯誤或錯誤的程式碼的修復程式。

程式碼 :

named_car = 77print(new_car)

輸出 :

NameError: name ‘new_car’ is not defined。 Did you mean: named_car?

更好的型別提示

從 Python 3。9 升級,我們可以不使用 union 關鍵字而只使用 OR 符號來分配引數的多種輸入型別。為同一個變數定義多個輸入型別是一種更簡單的方法

Python 3。9 的程式碼:

def add(a: Union[int, float], b: Union[int, float]):

Python 3。10 的程式碼:

def add(a: int | float, b: int | float):

改進的上下文管理器 上下文管理器有助於處理檔案等資源。您現在可以在單個塊中使用多個上下文。這將大大增強您的程式碼,因為您不再需要多個塊或語句。

以前的語法:

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()

本次分享就到這啦,如果對您有幫助的話,點個關注再走吧~感謝閱讀。

Top