在 Python 的 typing
模块中,Union
和 Optional
是两种不同的类型提示工具,它们在使用场景和含义上有所区别。
- Union:
Union
用于指定一个变量可以是多种类型中的一种。- 语法:
Union[type1, type2, ...]
- 例如,
Union[int, float]
表示一个变量可以是整数类型或者浮点数类型。
from typing import Union
def square(value: Union[int, float]) -> Union[int, float]:
return value * value
result1 = square(5) # 返回整数类型 25
result2 = square(2.5) # 返回浮点数类型 6.25
- Optional:
Optional
是Union
的一个特殊情况,用于表示一个变量可以是某种类型或者None
。- 语法:
Optional[type]
- 例如,
Optional[int]
表示一个变量可以是整数类型或者None
。