Skip to content

为什么 Python 不支持函数重载? #3

@chinesehuazhou

Description

@chinesehuazhou

函数重载指的是有多个同名的函数,但是它们的签名或实现有不同。

Python 中使用装饰器(例如 functools 库的 singledispatch),可以实现函数重载的效果。

然而,原生 Python 语法层面不支持函数重载。

初步原因:locals 命名空间中不允许出现同名函数

TODO:语言设计时的考虑?相关历史讨论线索?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions