Optional
介绍
可选参数具有默认值,具有默认值的可选参数不需要在其类型批注上使用Optional,因为它是可选的。Optinal和默认参数没什么实质性的区别,只是写法不同,使用Optional主要是为了让IDE识别到该参数有一个类型提示,可以指定它的类型和None,参数是可选非必传
from typing import Optional
def Test(arg:Optional[int]=None):
print(arg)
Test()
Test(1)
"""
None
1
"""
并且Optional里面只可以写一个数据类型
# 正确
Optional[str]
Optional[List[str]]
Optional[Dict[str, Any]]
# 错误
Optional[str, int]
Optional[Union[str, int, float]]