python中不需要函数重载的原因

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

  1.可变参数类型

  2.可变参数个数

       并且函数重载一个基本的设计原则是,仅仅当两个函数除了参数类型和参数个数不同以外,其功能是完全相同的,此时才使用函数重载,如果两个函数的功能其实不同,那么不应当使用重载,而应当使用一个名字不同的函数。那么对于情况1,函数功能相同,但是参数类型不同,对于这种情况python根本不需要进行处理,因为Python可以函数可以接受任意类型的参数,所以如果函数功能相同,只是不同的参数类型在python中没有什么不同,所以没有必要做成两个函数就没有必要使用函数的重载。

  对于情况2,如果是函数拥有同样的功能只是参数个数不同,这种情况对于Python同样不需要函数的重载,因为Python中存在缺省参数,对于个数不确定的函数采用缺省参数的方法就能完成所有的工作。

  函数重载为了解决的两个问题在Python中都不是问题因此Python就没有再进行函数重载的必要了,所以Python中不存在函数的重载。