函数方法重载
from typing import Any, List
from functools import singledispatch
@singledispatch
def process(data: Any) -> Any:
pass
@process.register(int)
def _(data: int) -> int:
return data * 2
@process.register(str)
def _(data: str) -> str:
return data.upper()
@process.register(list)
def _(data: List[int]) -> List[int]:
return [item * 2 for item in data]
print(process(1))
print(process("hello"))
print(process([1,2,3]))
函数方法重载