python @overload
时间: 2023-02-24 16:23:01 浏览: 230
PyPI 官网下载 | python-overload-0.0.1.tar.gz
"@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` 函数的两个重载版本,一个用于字符串类型的参数,另一个用于字节类型的参数。这样,在调用 `repeat` 函数时,Python 就可以自动选择合适的重载版本,从而实现重载的效果。
阅读全文