Python 因其動態類型的特性而以靈活且易於編寫而聞名。然而,這種靈活性有時會使理解函數期望或傳回哪種類型的資料變得更加困難。這就是類型提示發揮作用的地方! Python 3.5 中引入的類型提示可讓您提供有關程式碼中變數、參數和傳回值類型的提示。它不會強制執行這些類型,但有助於提高可讀性和調試。
本部落格將逐步引導您了解 Python 中類型提示的基礎知識。
類型提示是一種註釋 Python 程式碼以指定以下內容的預期資料類型的方法:
它不會影響 Python 運行程式的方式,而是作為程式碼的文檔,並幫助 linter 或 IDE 等工具捕獲潛在的錯誤。
以下是一些類型提示有用的原因:
您可以使用冒號 (:) 後面跟著類型來指定變數的類型。
name: str = "Alice" age: int = 25 is_student: bool = True
使用型別提示來註解函數所採用的參數型別:
def greet(name: str) -> None: print(f"Hello, {name}!")
這裡:
您也可以指定函數傳回的資料類型:
def add(a: int, b: int) -> int: return a + b
這裡:
Python 有用於更複雜類型註解的內建工具。例如:
使用列表和字典類型提示來指定元素的類型:
from typing import List, Dict # A list of integers numbers: List[int] = [1, 2, 3, 4] # A dictionary with string keys and integer values scores: Dict[str, int] = {"Alice": 90, "Bob": 85}
如果變數或參數可以為 None,請使用Optional:
name: str = "Alice" age: int = 25 is_student: bool = True
對於特定類型的固定長度集合,請使用元組:
def greet(name: str) -> None: print(f"Hello, {name}!")
如果變數可以是任何類型,請使用 Any:
def add(a: int, b: int) -> int: return a + b
為了方便閱讀,您可以使用 =:
建立型別別名
from typing import List, Dict # A list of integers numbers: List[int] = [1, 2, 3, 4] # A dictionary with string keys and integer values scores: Dict[str, int] = {"Alice": 90, "Bob": 85}
您可以使用像 mypy 這樣的工具來靜態檢查類型提示是否有錯誤。
from typing import Optional # This function can return either a string or None def get_name(user_id: int) -> Optional[str]: if user_id == 1: return "Alice" return None
from typing import Tuple # A tuple containing a string and an integer coordinates: Tuple[str, int] = ("x", 10)
您也可以註解類別屬性與方法:
from typing import Any # This can hold any type data: Any = "Hello" data = 42
類型提示是一個強大的工具,可以提高程式碼清晰度、減少錯誤並提高工作效率。雖然它在 Python 中是可選的,但從長遠來看,將類型提示合併到您的專案中可以為您和您的團隊節省大量時間。從註解一些函數或變數開始,逐漸在您的工作流程中採用類型提示!
類型提示有助於使 Python 程式碼像最好的靜態類型語言一樣清晰和健壯,同時保持 Python 的簽名簡單性。快樂編碼! ?
以上是了解 Python 中的類型提示:初學者友善指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!