现在Python 3.10已经发布了,在指示参数或返回值可能是可选的(即可以是None. 那么什么是首选:
选项1:
def f(parameter: Optional[int]) -> Optional[str]:
Run Code Online (Sandbox Code Playgroud)
选项2:
def f(parameter: int | None) -> str | None:
Run Code Online (Sandbox Code Playgroud)
Type | None另外,和之间有什么偏好吗None | Type?
我试图了解如何使用Optional类型提示.从PEP 434,我知道我可以使用Optional的def test(a: int = None)无论是作为def test(a: Union[int, None])或def test(a: Optional[int]).
但是下面的例子怎么样?
def test(a : dict = None):
#print(a) ==> {'a': 1234}
#or
#print(a) ==> None
def test(a : list = None):
#print(a) ==> [1,2,3,4, 'a', 'b']
#or
#print(a) ==> None
Run Code Online (Sandbox Code Playgroud)
Optional[type]似乎意味着同样的事情Union[type, None],我为什么要使用它Optional[]?