python3中的类继承你真的了解吗

python3中的类继承你真的了解吗

目录

(1)首先使用直接继承的方式

(2)在子类中定义属性

(3)如果想要继承父类中的属性,一般使用super方法:

(4)如果需要在子类的__init__中传入参数则可以这样使用: 

(5)如果想要将参数传入到父类中可以这样使用:

总结

之前一直对于python类的继承机制认知的比较混乱,今天学习记录一下。

(1)首先使用直接继承的方式 class parent(): def __init__(self): self.a="这是父类a" print("父类初始化") def fuc(self): print(self.a) class child(parent): def __init__(self): print("子类初始化") c=child() c.fuc()

运行结果为:

子类初始化 
AttributeError: 'child' object has no attribute 'a' 
Process finished with exit code 1

可见子类没有继承父类中属性

(2)在子类中定义属性 class parent(): def __init__(self): self.a="这是父类a" print("父类初始化") def fuc(self): print(self.a) class child(parent): def __init__(self): self.a="这是子类a" print("子类初始化") c=child() c.fuc()

运行结果:

子类初始化
这是子类a

可见在子类中继承了父类的方法

(3)如果想要继承父类中的属性,一般使用super方法: class parent(): def __init__(self): self.a="这是父类a" print("父类初始化") def fuc(self): print(self.a) class child(parent): def __init__(self): super(child, self).__init__() print("子类初始化") c=child() c.fuc()

运行结果:

父类初始化
子类初始化
这是父类a

 使用super方法程序在实例化子类的时候会首先调用父类中__init__,并将属性赋予子类

(4)如果需要在子类的__init__中传入参数则可以这样使用:  class parent(): def __init__(self): self.a="这是父类a" print("父类初始化") def fuc(self): print(self.a) class child(parent): def __init__(self,m): super(child, self).__init__() print("子类初始化") self.m=m c=child(1) print(c.m)

运行结果:

父类初始化
子类初始化
1

(5)如果想要将参数传入到父类中可以这样使用: class parent(): def __init__(self,m): self.a="这是父类a" print("父类初始化") self.m = m def fuc(self): print(self.m) class child(parent): def __init__(self,m): super(child, self).__init__(m) print("子类初始化") c=child(1) c.fuc()

运行结果:

父类初始化
子类初始化
1

 当子类中与父类中有同样的属性时子类中的属性会覆盖父类的属性

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注易知道(ezd.cc)的更多内容!    

推荐阅读

    opporeno8参数配置及价格

    opporeno8参数配置及价格,面部,亿元,Oppo的荣誉2020年1月4日,接近屏幕关闭传感器是否支持双卡:支持oppor11splus什么时候上市的Oppo R11S P

    魅蓝note6性能参数有哪些

    魅蓝note6性能参数有哪些,摄像头,蓝牙,魅蓝note6性能参数有哪些魅力蓝色Note6最好拍照。电池寿命更长。蓝色Note6使用高通 snapdragon 625

    扬声器属性级别设置|扬声器属性高级

    扬声器属性级别设置|扬声器属性高级,,1. 扬声器属性高级选择“高级”标签试试,不行的话,说明系统有问题了,直接换个验证过的系统盘重装系统就

    设置总账参数|用友u8设置总账参数

    设置总账参数|用友u8设置总账参数,,1. 用友u8设置总账参数1、首先要点开数据权限控制设置;2、选择想要设置控制的单据;3、打开后看到左上角

    csgo参数设置|csgo怎么保存

    csgo参数设置|csgo怎么保存,,csgo怎么保存第一步下载csgo的官方版本。然后再下载一个5e对战平台,PS:5e的账号和csgo的账号不是一个账号。第

    移动apn设置|移动apn设置参数

    移动apn设置|移动apn设置参数,,移动apn设置参数1、打开手机系统设置界面应用,点击页面中的“移动网络”设置选项。2、进入移动网络设置页面

    均线最佳设置|均线最佳参数设置

    均线最佳设置|均线最佳参数设置,,1. 均线最佳参数设置所有指标包括kd macd均线,是根据已有价格计算得出,看指标落后于看价格分析,也就是k线。