python 3的函数重载
overloading的Python项目详细描述
overloading是一个提供函数和方法分派的模块 基于运行时参数的类型和数量。
调用重载函数时,调度程序将比较 可用签名的参数,并调用提供 最精确的匹配:
@overloaddefbiggest(items:Iterable[int]):returnmax(items)@overloaddefbiggest(items:Iterable[str]):returnmax(items,key=len)
>>>biggest([2,0,15,8,7])15>>>biggest(['a','abc','bc'])'abc'
功能
- 注册期间的功能验证和综合解决规则 保证在调用时有一个定义良好的结果。
- 支持python 3.5中引入的typing模块。
- 支持可选参数。
- 支持可变签名(*args和**kwargs)。
- 支持类/静态方法。
- 计算位置参数和关键字参数。
- 没有超出标准库的依赖项
文档
完整的文档可在https://overloading.readthedocs.org/找到。