Python重载和重写的区别是什么?Python如何区分重载和重写

在python之中有一个叫做类的结构,它是用来描述同一种属性和方法的集合 。而类之间是有继承关系的,一个类可以作为另一个类的父类 。而重载和重写都是通过类中的方法来实现的,而下面这篇文章小编要来给大家介绍的则是python重写和重载的区别,往下看看吧 。

Python重载和重写的区别是什么?Python如何区分重载和重写

文章插图
1.重写指的是一个类继承了另一个类,而在子类中有和父类中同名且参数、返回类型都相同的方法 。那么这种情况下子类中的方法会将父类方法覆盖,这个被称之为方法覆盖,也就是重写了 。因为虽然方法的结构没有改变,但是里面的代码可能是完全不同的,示例如下:
class A():  def dd():     print(1)class B(A):  def dd():     print(2)b = B()b.dd2以上代码示例中就是定义了两个类,并且类B继承了类A作为父类 。那么在类B中定义的方法dd()虽然和类A中的方法名称相同且参数数量相同,但是它们代码块里的内容不同,这个就是方法重写 。
2.而重载也是类方法的一种表现形式,不同于重写是方法名、参数、返回类型相同,方法重载只要求方法名相同 。因为重载指的就是在一个类下面有很多同名函数,但是这些函数的参数以及返回类型都不同,那么在实例化类之后就可以通过调用同名方法但传入不同参数来实现不同的功能 。
【Python重载和重写的区别是什么?Python如何区分重载和重写】所以python区分和重载和重写的方式就是观察它们的参数,两个方法参数一样并且分别在父类和子类中就是重写,而一个类中方法同名但参数不一样的就是重载 。
以上就是关于“Python重载和重写的区别是什么?Python如何区分重载和重写”的全部内容了,希望对你有所帮助 。

    推荐阅读