请教python类型注解问题


def add(*args: int | str):
    for i in args:
        print(i)

if __name__ == '__main__':
    add(1, 2, 3)
    add(1, 2, 'nihao')

在 Python 3.9 及以后的版本中,你可以使用如下的方法定义一个支持多种类型的参数:

def add(*args: Union[int, str]):
    for i in args:
        print(i)

在早期的版本中,你需要使用 typing 库中的 Union 类型来实现类似的功能:

from typing import Union

def add(*args: Union[int, str]):
    for i in args:
        print(i)

在这个函数中,你可以使用 Union 类型来表示参数可以是 int 类型或者是 str 类型。这样,当你调用这个函数时,你就可以传入一个 int 类型的值或者是一个 str 类型的值。