Skip to content

Python 实现函数重载(function overloading):根据不同的参数类型执行不同的逻辑 #1

@mimo-x

Description

@mimo-x

函数方法重载

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]))

Metadata

Metadata

Assignees

No one assigned

    Labels

    PythonPython 知识

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions