gpt4 book ai didi

python - TypeVar ('T' ) 和 Any 之间的区别

转载 作者:行者123 更新时间:2023-12-04 03:58:26 27 4
gpt4 key购买 nike

假设我有一些通用函数:

def foo(*args):
for arg in args:
print(arg)

如果我想输入提示 *args,根据 PEP我只需要指定类型 1 arg。

如果参数可以是任何类型呢?有什么区别:

T = typing.TypeVar('T')

def foo(*args: T):
...

def foo(*args: Any):
...

据我所知,TypeVar('T') 等同于“任何类型”,但这是否适用于变量参数为多种类型的情况?

最佳答案

人们可能认为不同之处在于:

foo(*args: T) 表示该函数可以接受任意数量的参数并且参数可以是任何类型,但必须都是同一类型。

foo(*args: Any) 表示该函数可以接受任意数量的任意类型参数。

但实际上并非如此:https://github.com/python/mypy/issues/6559#issuecomment-473864640

实际上这两个定义之间没有区别

关于python - TypeVar ('T' ) 和 Any 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63508052/

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