相关疑难解决方法(0)

Python 3.10+:可选[类型]或类型| 没有任何

现在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

python type-hinting mypy python-typing python-3.10

70
推荐指数
4
解决办法
4万
查看次数

我该如何使用Optional类型提示?

我试图了解如何使用Optional类型提示.从PEP 434,我知道我可以使用Optionaldef 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[]

python type-hinting python-3.x

20
推荐指数
4
解决办法
1万
查看次数