导语:
本文主要介绍了关于python有函数重载吗?的相关知识,包括python回调函数,以及python特殊方法与重载这些编程知识,希望对大家有参考作用。
python中没有函数重载。
为了考虑为什么python不提供函数重载,首先我们要研究一下为什么需要提供函数重载。
函数重载主要是为了解决两个问题:
-
可变参数类型。
-
可变参数个数。
此外,一个基本的设计原则是,只有当两个函数的功能除了参数类型和参数个数之外完全相同时,才使用函数重载。如果这两个函数的功能实际上是不同的,那么就没有必要不用重载,而是使用一个不同名称的函数。
那么对于case 1,函数功能是一样的,但是参数类型不同,python是怎么处理的呢?
答案是根本不需要处理,因为python可以接受任何类型的参数。如果函数的功能相同,那么不同的参数类型很可能是python中的同一段代码,没必要做两个不同的函数。
那么对于case 2,功能是一样的,只是参数个数不同,python是怎么处理的呢?
答案是默认参数。为那些缺失的参数设置默认参数可以解决问题。由于你假设函数执行相同的操作,因此毕竟需要那些缺少的参数。嗯,既然case 1和case 2都有解决方案,python自然不需要函数重载。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
内容反馈