gpt4 book ai didi

python - 有没有办法将数组传递给 python 泛型?

转载 作者:行者123 更新时间:2023-12-05 04:44:31 27 4
gpt4 key购买 nike

我正在做一些元编程,我需要一种方法来动态定义类型提示。有没有办法将参数数组传递给类型提示?像这样的东西:

# Some programatically generated list where I don't know the content until runtime
permitted_types = [int, str, bool, float, list, dict]

union = Union[*permitted_types]

上面的代码产生:

TypeError: Union[arg, ...]: each arg must be a type. Got [<class 'int'>, <class 'str'>, <class 'bool'>, <class 'float'>, <class 'list'>, <class 'dict'>]

有人知道这样做的语法吗?此刻我沦落为以下,我讨厌它:

num_args = len(args)
if num_args == 1:
return origin[args[0]]
elif num_args == 2:
return origin[args[0], args[1]]
elif num_args == 3:
return origin[args[0], args[1], args[2]]
elif num_args == 4:
return origin[args[0], args[1], args[2], args[3]]
elif num_args == 5:
return origin[args[0], args[1], args[2], args[3], args[4]]
elif num_args == 6:
return origin[args[0], args[1], args[2], args[3], args[4], args[5]]
else:
# Raise error

最佳答案

好的 - 我通过在 typing.py 中翻找语法找到了语法:

return Union[tuple(permitted_types)]

关于python - 有没有办法将数组传递给 python 泛型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69353207/

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