考虑以下代码:
from typing import Optional
class Foo:
def __init__(self):
self.baz: Optional[int] = None
如何在代码中找到 baz 的类型为 Optional[int]
?如果我输入 type(Foo().baz)
,我只会得到 None
。
最佳答案
您可以在类主体中定义实例属性类型,如 PEP 中所述。
from typing import Optional, get_type_hints
class Foo:
baz: Optional[int]
def __init__(self):
self.baz = None
get_type_hints(Foo)
Out[26]: {'baz': typing.Union[int, NoneType]}
请注意,typing.Union[int, NoneType]
与 Optional[int]
相同。
关于python - 如何获取类成员的类型注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59173744/