python支持函数重载吗,python的重载是如何实现的

  python支持函数重载吗,python的重载是如何实现的

  Python是一种动态脚本语言,设计的机制是按函数名保存函数条目,而不是函数名参数。

  当你调用一个函数的时候,你可以传递更多的参数,同样会调用名字只匹配的函数。

  python虽然不支持函数重载,但是通过传递容器类型(list、tuple、set、dict)的参数,可以实现类似的功能。

  相关:《Python平台》

  为了考虑python为什么不提供函数重载,我们首先要研究为什么需要提供函数重载。

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

  1.可变参数类型。

  2.可变参数的数量。

  此外,一个基本的设计原则是,只有当两个函数的功能除了参数的类型和数量不同之外都相同时,才使用函数重载。如果两个函数的功能实际上是不同的,那么应该使用不同名称的函数,而不是重载。

  对于第一种情况,函数是一样的,但是参数类型不同。python是怎么处理的?答案是根本不需要处理,因为python可以接受任何类型的参数。如果函数相同,那么不同的参数类型在python中很可能是同一个代码,不需要做两个不同的函数。

  所以对于第二种情况,函数是相同的,但是参数的数量不同。python是怎么处理的?如你所知,答案是默认参数。将那些缺失的参数设置为默认参数可以解决这个问题。因为您假设这些函数具有相同的功能,所以最终会需要那些缺少的参数。

  好吧,既然情况1和情况2都有解,python自然不需要函数重载。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 手机qpython3安装第三方库,qpython安装模块,手机Python编程软件QPython支持第三方库安装详解
  • lambda也是python支持的一种定义函数的方法,lambda用法python
  • lambda也是python支持的一种定义函数的方法,python lambda()
  • python支持面向对象程序设计吗,学python一定要用pycharm吗
  • lambda也是python支持的一种定义函数的方法,python中lambda的作用
  • python支持面向对象的编程技术,python面向对象编程的三大特性
  • python面向对象的编程,python支持面向对象的编程技术
  • python面向对象编程指南,python支持面向对象的编程技术
  • python支持的函数参数类型,python函数的5种参数详解
  • python支持的递归深度,python递归特征
  • python支持多个操作系统吗,python如何同时运行两个程序
  • python面向对象编程的三大特性,python支持面向对象编程吗
  • Python语言支持编程方式有,python支持什么编程
  • python支持函数式编程和什么编程,python语言支持编程方式有函数式编程
  • python后端接口怎么写,python支持接口编程吗
  • 留言与评论(共有 条评论)
       
    验证码: