typing
主要用於限制資料型別範圍使用。
Union
設定允許的資料型別範圍,如果需要加入None,那麼就直接加,而不用加Nonetype
from typing import Union
spam: Union[int, str]
spam = 33
print(spam)
spam = "222"
print(spam)
spam = 3.14
print(type(spam))
Optional
如果要使用None,那麼推薦使用Optional來進行,使用mypy進行分析的時候,將會報出錯誤。
from typing import Optional
spam: Optional[str] = None
spam = "222"
print(spam)
spam = 3.14
print(type(spam))
#web_test.py:12: error: Incompatible types in assignment (expression has type "float", variable has type "str | None") [assignment]