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
投稿
猜你喜欢
- 代码如下:<%@LANGUAGE="VBSCRIPT"%> <% option&n
- 本文实例讲述了Python进程的通信Queue、Pipe。分享给大家供大家参考,具体如下:内容相关:概念:进程的通信Queue:创建与使用P
- 什么是 JScript?JScript 是由微软开发的活动脚本语言,基于 ECMAScript 规范实现。Internet Explorer
- 本文介绍了网页运行代码框(runCode), 复制代码框(copyCode), 保存代码框(saveCode),的实现方法。javascri
- 介绍Trie树:又称为单词查找树,是一种树形结构,可以应用于统计字符串,会在搜索引擎系统中用于对文本的词频统计,下图是一个Trie树的结构,
- Liwu_Items表,CreateTime列建立聚集索引 第一种,sqlserver2005特有的分页语法 代码如下:declare @p
- 1. 什么是404404是一个 http 错误代码,即请求的网页不存在。代码404的第一个“4”代表客户端的错误,如错误的网页位址;后两的数
- 引文之前将PHP反序列化的基础知识讲了一遍,不知道大家学习的怎么样了,今天给大家带来PHP反序列化的进阶知识:PHAR反序列化,也是之前本人
- 问:怎样实现ORACLE中用一条SQL实现其它进制到十进制的转换?答:具体示例如下:-----二进制转换十进制---------------
- 一. 介绍fire是python中用于生成命令行界面(Command Line Interfaces, CLIs)的工具,不需要做任何额外的
- 阅读上一篇:定义网页的语言编码 用web标准设计网站,过渡的方法主要是采用XHTML+CSS,css样式表是必不可少的。这就要求所有网页设计
- SQL Server 2000中存在的许多的备份和恢复特性都同样保留在了SQL Server 2005中,但是有一些新的提高同样值得我们关注
- 本文实例总结了Python字典常见操作。分享给大家供大家参考,具体如下:简单的字典:字典就是键值对key-value组合。#字典 键值对组合
- 一、介绍说明mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能,只不过它是一个控制台的形
- 本文实例为大家分享了python多进程实现文件下载传输功能的具体代码,供大家参考,具体内容如下需求:实现文件夹拷贝功能(包括文件内的文件),
- 如何用javascript来判定选择单选的radio哪个被选择,多选的checkbox有那几个被选中? <!DOCTYPE
- 合并多张图片到视频的方法说明除了使用 OpenCV 合并多张图片成视频外,还可以使用其他工具和库,例如:moviepy: 这是一个基于 Py
- 如何搭建完整的网站架构并设计出一个出色的网站?关于这个问题,我们很难提出一个绝对权威和正确的设计思路,但任何网站的设计都需要遵循一个循序渐进
- <style> body {margin:10px;background-color:#ffffff;margin-t
- 本文实例讲述了Python实现将数据框数据写入mongodb及mysql数据库的方法。分享给大家供大家参考,具体如下:主要内容:1、数据框数