python3中的类继承你真的了解吗
作者:ecre 发布时间:2021-06-18 11:23:53
标签:python,类,继承
之前一直对于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
当子类中与父类中有同样的属性时子类中的属性会覆盖父类的属性
来源:https://blog.csdn.net/weixin_40676212/article/details/123753913
0
投稿
猜你喜欢
- 饼图概念饼图(pie chart)是用圆形及圆内扇形的角度来表示数值大小的图形,它主要用于表示一个样本(或总体)中各组成部分的数据占全部数据
- 首先交代一下运行环境和工具版本:WIN10MINGW64ORACLEINSTANCCLIENT_18_3 x64Jetbrins Golan
- 在执行iisapp.vbs时,可能会提示如下错误:Windows Script Component - file://C:WINDOWSsy
- 写在前面QQ群里偶然看到群友问这个问题, pandas读取大文件时怎么才能获取进度? 我第一反应是: 除非pandas的read_excel
- GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利
- 本文实例为大家分享了javascript不同颜色Tab标签切换效果的实现代码,供大家参考,具体内容如下具体代码:<html> &
- 代码如下:<% '--------定义部份------------------ Dim XH_P
- 关于Python的文件遍历,大概有两种方法,一种是较为便利的os.walk(),还有一种是利用os.listdir()递归遍历。方法一:利用
- 由于python2和python3在部分语法上不兼容, 导致有人打趣道:"Python2和Python3是两门语言"对于
- 前言PyEMD是经验模态分解 (EMD)及其变体的Python实现,EMD最流行的扩展之一是集成经验模态分解 (EEMD),它利用了噪声辅助
- 今天看了篇关于Web Form Design的成功案例,虽然讲的事情很简单,但总结了一些方法,翻译过来做个原始积累吧,以后写东西举例子时也好
- 今天在 ajaxian 上看到一篇文章,名为 Five Ajax Anti-pattern ,觉得讲得比较有道理,现粗略翻译一下,加一些自己
- 本文实例讲述了mysql代码执行结构。分享给大家供大家参考,具体如下:本文内容:什么是代码执行结构顺序结构分支结构循环结构 首发日
- http请求介绍HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTT
- 一、python单行注释符号(#)python中单行注释采用 #开头示例:#this is a comment二、批量、多行注释符号多行注释
- 介绍psutil能够轻松实现获取系统运行的进程和系统利用率。导入模块import psutils获取系统性能信息CPU信息使用cpu_tim
- 前言在新的一年里祝大家前端都用ES6,php都用PHP7,Java都是JAVA9,python都是3。好了,下面进入本文的主要的内容,大家可
- 本文实例讲述了Python3实现取图片 * 定的像素替换指定的颜色。分享给大家供大家参考,具体如下:1、原始图片2、修改脚本:# -*- co
- 有时候难免会要用到只读的文本框,可今天发现只读文本框有一个缺陷,当鼠标焦点在文本框里面的时候按回退键(backSpace), 会退回到前一个
- TeX 排版中文字体嵌入问题,兼谈不拘小节的中文字体设计原文:http://yulewang.spaces.live.com/blog/cn