gpt4 book ai didi

python - 在运行时访问变量的 Python 3 类型注释

转载 作者:行者123 更新时间:2023-12-01 07:44:13 25 4
gpt4 key购买 nike

我想知道是否可以在运行时访问变量的类型注释,就像在方法的 inspect.getmembers() 中使用 __annotations__ 条目一样和功能。

> a:Optional[str]=None
> type(a)
<class 'NoneType'>

> a:str=None
> type(a)
<class 'NoneType'>

谢谢。

最佳答案

locals()globals() 跟踪 __annotations__ 键中变量的注释。

>>> from typing import *
>>> a: Optional[int] = None
>>> locals()['__annotations__']
{'a': typing.Union[int, NoneType]}
>>> locals()['__annotations__']['a']
typing.Union[int, NoneType]
>>>
>>> foo = 0
>>> bar: foo
>>> locals()['__annotations__']['bar']
0
>>>
>>> baz: List[str]
>>> locals()['__annotations__']['baz']
typing.List[str]

关于python - 在运行时访问变量的 Python 3 类型注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56548996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com