Python的联合类型

53 阅读1分钟

联合类型(Union Type)用来告诉类型检查器:

“这个变量/参数允许同时是几种不同类型中的任意一种。”

  • Python 3.10 之前:typing.Union
from typing import Union

def print_id(uid: Union[int, str]) -> None:
    print(uid)

# 合法调用
print_id(123)      # int
print_id("abc")    # str

Union[int, str] 表示“int 或 str 都可以”。

  • Python 3.10 起:用 | 操作符(PEP 604)
def print_id(uid: int | str) -> None:
    print(uid)

功能完全等价,但更短、可读性更好。