为什么 Python 不支持函数重载?
Opened this issue · 0 comments
chinesehuazhou commented
函数重载指的是有多个同名的函数,但是它们的签名或实现有不同。
Python 中使用装饰器(例如 functools 库的 singledispatch),可以实现函数重载的效果。
然而,原生 Python 语法层面不支持函数重载。
初步原因:locals 命名空间中不允许出现同名函数
TODO:语言设计时的考虑?相关历史讨论线索?
Opened this issue · 0 comments
函数重载指的是有多个同名的函数,但是它们的签名或实现有不同。
Python 中使用装饰器(例如 functools 库的 singledispatch),可以实现函数重载的效果。
然而,原生 Python 语法层面不支持函数重载。
初步原因:locals 命名空间中不允许出现同名函数
TODO:语言设计时的考虑?相关历史讨论线索?