gpt4 book ai didi

Python:获取类型 `typing.List`

转载 作者:太空狗 更新时间:2023-10-30 01:11:51 24 4
gpt4 key购买 nike

我已经将一个函数的参数注释为

import typing

def f(x: typing.List[MyType]):
...

通过检查参数参数,我得到了 x 的类型,它是 typing.GenericMeta 的一个实例,它被正确地打印为 typing.List [我的类型]

如何从该对象中获取ListMyType

最佳答案

如果想获取MyType,可以在.__args__下找到:

import typing

def f(x: typing.List[MyType]):
...

print(f.__annotations__["x"].__args__[0]) # prints <class '__main__.MyType'>

List(即 typing.List)可从 .__base__ 访问,实际列表类来自 .__orig_bases__:

print(f.__annotations__["x"].__base__)  # prints typing.List[float]
print(f.__annotations__["x"].__orig_bases__[0]) # prints <class 'list'>

关于Python:获取类型 `typing.List`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47077329/

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