可选参数:具有默认值的参数,不需要在其类型批注上使用Optional,因为默认值的类型已经给定了。
可选类型:Optional,作用是让编译器识别到该参数有一个类型提示,可以使指定类型,也可以是None,且参数是可选非必传的。Optional[int] 等价于 Union[int, None],意味着:既可以传指定的类型 int,也可以传 None。Optional[] 里面只能写一个数据类型
# 可选参数
def foo(arg: int = 0) -> None:
...
# 不传 arg 默认取 0
foo()
def foo_func(arg: Optional[int] = None):
print(arg)
foo_func()
foo_func(1)
# 输出结果
None
1