"@overload" 是 Python 3.5 引入的装饰器,它用于为多重定义的函数定义多个重载版本(overloads)。当多个重载函数的参数类型不同时,该装饰器可以用于明确指定每个重载版本的参数类型。
例如:
from typing import overload
@overload
def repeat(s: str, count: int) -> str:
...
@overload
def repeat(s: bytes, count: int) -> bytes:
...
在上面的例子中,我们定义了 repeat
函数的两个重载版本,