【ZH奶酪】为什么Python不需要函数重载?

函数重载的作用是什么?

函数重载主要是为了解决两个问题

  1. 可变参数类型
  2. 可变参数个数

另外,一个基本的设计原则是,仅仅当两个函数除了参数类型和参数个数不同以外,其功能是完全相同的,此时才使用函数重载,如果两个函数的功能其实不同,那么不应当使用重载,而应当使用一个名字不同的函数。

对于问题1,函数功能相同,但是参数类型不同,python 如何处理?答案是不需要处理,因为 python 可以接受任何类型的参数,如果函数的功能相同,那么不同的参数类型在 python 中很可能是相同的代码,没有必要做成两个不同函数。

对于问题2,函数功能相同,但参数个数不同,python 如何处理?答案是缺省参数,因为函数功能相同,那么缺省参数终归是需要被使用。

综上所述,问题1跟问题2都有了解决方案,所以python中自然就不需要函数重载了。

参考资料: python 不需要函数重载

posted @ 2018-07-24 13:12  ZH奶酪  阅读(508)  评论(0编辑  收藏  举报