Python 型別提示完整教學

Python 2025-01-01T12:00:00.000Z

Python 型別提示完整教學

Python 是動態型別語言,但從 Python 3.5 開始引入 Type Hints,讓靜態分析工具能夠在執行前抓到型別錯誤。

基礎語法

def greet(name: str, times: int = 1) -> str:
    return name * times

numbers: list[int] = [1, 2, 3]
data: dict[str, int] = {'a': 1, 'b': 2}

泛型與 Union

from typing import TypeVar, Generic, Union

T = TypeVar('T')

def first(items: list[T]) -> T:
    return items[0]

def parse(value: Union[str, int]) -> int:
    return int(value)

Dataclasses

from dataclasses import dataclass

@dataclass
class User:
    name: str
    email: str
    age: int = 0
    is_active: bool = True

Pydantic 資料驗證

from pydantic import BaseModel, EmailStr

class CreateUserRequest(BaseModel):
    name: str
    email: EmailStr
    age: int

工具鏈建議

  • mypy:靜態型別檢查
  • pyright:VS Code 整合的型別檢查
  • ruff:快速 linting