动态定义typing.Union
可以通过使用TypeVar
进行类型变量定义,并将其用作Union
中的参数。typing.TypeVar
用于创建泛型类型变量,它允许在函数签名或类定义中引用类型,但不指定具体类型。下面是一个示例:
from typing import TypeVar, Union
T = TypeVar('T')
def foo(x: Union[T, int]) -> Union[T, int]:
return x
# 使用时指定具体类型
result1: str = foo("hello")
result2: int = foo(123)
在上述示例中,使用TypeVar('T')
创建了一个泛型类型变量T
,然后将其用作Union
的参数。这样,函数foo
的参数x
可以是T
类型或int
类型。返回值也是同样的类型。
动态定义typing.Union
可以根据具体的需求进行调整,可以支持多个类型的组合,例如Union[int, str]
表示参数可以是int
类型或str
类型。
关于腾讯云的产品介绍,可以参考腾讯云官方文档:
领取专属 10元无门槛券
手把手带您无忧上云