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

  1.可变参数类型

  2.可变参数个数

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

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

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

转载于:https://www.cnblogs.com/s-1314-521/p/9762437.html

python中不需要函数重载的原因相关推荐

  1. 17.Python中的魔法函数

    <Python编程的术与道:Python语言进阶>视频课程 <Python编程的术与道:Python语言进阶>视频课程链接:https://edu.csdn.net/cours ...

  2. python中list作为函数参数_在python中list作函数形参,防止被实参修改的实现方法

    0.摘要 我们将一个list传入函数后,函数内部对实参修改后,形参也会随之改变.本文将主要介绍这种错误的现象.原因和解决方法. 1.代码示例 def fun(inner_lst): inner_lst ...

  3. [小笔记]TypeScript/JavaScript模拟Python中的Range函数

    [小笔记]TypeScript/JavaScript 模拟Python中的Range函数 李俊才/CSDN博客 CSDN用户名:jcLee95 邮箱:291148484@163.com 原创不易,感谢 ...

  4. Python中的str()函数和repr()函数

    在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即str() 或者 repr() . >>> a = 10 >>> type(str( ...

  5. 如何实现python中的strcmp函数

    def strcmp(str1,str2):if str1[:len(str2)] == str2:return 1elif str2[:len(str1)] == str1:return 1retu ...

  6. Python中的常用函数

    1.range()是一个函数 for i in range () 就是给i赋值: 比如 for i in range (1,3): 就是把1,2依次赋值给i range () 函数的使用是这样的: r ...

  7. python中的pop()函数和popleft()函数

    python中的pop()函数和popleft()函数 首先对于pop而言,它是用于stack中的: stack = [1, 2, 3, 4] print(stack) stack.append(6) ...

  8. python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict)

    python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict) 目录

  9. python中add函数_如何使用python中的add函数?

    之前向大家介绍过python中的求和函数sum函数,numpy中的sum函数,对于数组可以指定维度进行相加.numpy中还有另一种求和运算方法,即add函数.add函数不仅作用于numpy中加法运算, ...

最新文章

  1. bootstrap 图片预览_教你简单用Photoshop制作GIF图片
  2. cocos2d-x初探学习笔记(5)--动作管理
  3. 32位linux 内存占用,LINUX内存高,触发OOM-KILLER问题解决
  4. java alarm api_JAVA抽象类及接口使用方法解析
  5. AndroidStudio安卓原生开发_Intent传过来的值会自动变化_太奇怪了_你碰见过嘛_Http并发引起的问题?_可通过静态变量传值的方式解决---Android原生开发工作笔记130
  6. 贝叶斯算法伪代码_字节跳动算法面经
  7. 阿里百川码力APP监控 来了!
  8. scanf()正则表达式的使用
  9. 谭浩强c语言第五版 第二章习题解答
  10. YUI3学习(二)--YUI Global Object
  11. hustoj 服务器配置
  12. Excel 取消分页符
  13. 生成二维码如何制作二维码
  14. AI项目环境搭建go+supervisor+openresty
  15. EF Core 批量写入数据使用整理_EF Core批量插入数据(一)
  16. 画图取色小工具markman
  17. Excel如何快速统计指定填充颜色的数据个数
  18. Android 8内测版本,安卓qq v8.0.8内测版
  19. 【程序人生】1024 程序员节——闲言鹤语
  20. android7 boot root,一加7T/7TPro Root不求人,自己提取boot.img打补丁

热门文章

  1. is 和 == 的区别
  2. [设计模式]State模式
  3. python学习笔记:遍历目录
  4. dump查询Java 状态
  5. linux-buff/cache过大导致内存不足-程序异常
  6. 递归原来可以so easy|-连载(3)
  7. keepalive的作用
  8. 非IT人士的云栖酱油之行 (程序猿迷妹的云栖之行)
  9. linux运维(五)
  10. The Best Way to Unit Test in Android