@overload是Python的装饰器,它的作用是声明函数的重载。它可以用来为函数定义不同的签名(即参数列表),从而在不同的情况下调用不同的代码。这有助于提高代码的可读性和可维护性。
@overload主要用于标准库中的typing模块,它通常与type hints一起使用,以指定函数的参数类型和返回值类型。例如:
from typingimport overload
@overload
def add(a: int, b: int) -> int:
...
@overload
def add(a: float, b: float) -> float:
..