python函数的继承_Python 继承

版权所有,未经许可,禁止转载

Python 继承

继承允许我们在定义一个类时,让该类继承另一个类的所有方法和属性。

父类是被继承的类,也称为基类。

子类是继承父类的类,也称为派生类。

创建父类

任何类都可以是父类,创建父类的语法和创建普通类是一样的:

示例

创建一个名为Person的类,包含属性:firstname,lastname, 方法:printname:

class Person:

def __init__(self, fname, lname):

self.firstname = fname

self.lastname = lname

def printname(self):

print(self.firstname, self.lastname)

# 使用Person类创建对象,然后执行printname方法:

x = Person("Kevin", "Wu")

x.printname()

创建子类

要创建子类,需将父类作为参数传入:

示例

创建一个名为Student的类,它将继承Person类的属性和方法:

class Student(Person):

pass

注意: 当您不想给类添加任何属性或方法时,使用pass关键字。

现在Student类具有与Person类相同的属性和方法。

示例

使用Student类创建对象,然后执行printname方法:

x = Student("Kevin", "Tony")

x.printname()

添加__init__()函数

到目前为止,我们已经创建了一个子类,它继承了父类的属性和方法。

现在将__init__()函数添加到子类(不再使用pass关键字)。

注意: 每当创建新对象时,都会自动调用类的__init__()函数。

示例

将__init__()函数添加到Student类:

class Student(Person):

def __init__(self, fname, lname):

# 添加属性

当您添加了__init__()函数后,子类将不再继承父类的__init__()函数。

注意: 子函数的__init__()重写父函数的__init__()。

要保留父类的__init__()函数的功能,可在子类的__init__()函数中调用父类的__init__()函数:

示例

class Student(Person):

def __init__(self, fname, lname):

Person.__init__(self, fname, lname)

现在,我们已经给子类添加了__init__()函数,并调用了父类的__init__()函数,下面我们将在__init__()函数中添加其他功能。

添加属性

示例

在Student类中添加一个关于毕业年份的属性:

class Student(Person):

def __init__(self, fname, lname):

Person.__init__(self, fname, lname)

self.graduationyear = 2019

2019年应该是一个变量,并在创建学生对象时传递给Student类。为此,在__init__()函数中添加另一个year参数:

示例

添加一个year参数,创建对象时传入毕业年份:

class Student(Person):

def __init__(self, fname, lname, year):

Person.__init__(self, fname, lname)

self.graduationyear = year

x = Student("Kevin", "Tony", 2019)

加入方法

示例

在Student类中添加一个名为welcome的方法:

class Student(Person):

def __init__(self, fname, lname, year):

Person.__init__(self, fname, lname)

self.graduationyear = year

def welcome(self):

print("Welcome", self.firstname, self.lastname, "to the class of", self.graduationyear)

如果在子类中添加父类中的同名方法,则父类的方法将被重写。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 使用Node.js异步查询结果为undefined的简单处理办法

//定义查询过程,化异步为同步 function name(SQL_TXT, Respond) {ExecuteSQL(1, SQL_TXT);var i 0;var SetName setInterval(function () {if (i > 19) {clearInterval(SetName);}console.log("Tqr :第" i "次 obtain , Value : \n" Tqr " \…

python中的装饰器怎么运行_Python 装饰器入门(上)

翻译前想说的话:这是一篇介绍python装饰器的文章,对比之前看到的类似介绍装饰器的文章,个人认为无人可出其右,文章由浅到深,由函数介绍到装饰器的高级应用,每个介绍必有例子说明。文章太长,看完原文后我计划…

我的2018

写在开始 2018年以飞快的速度临近尾声了,只感慨时间过得真快! 这一年过得算是平平淡淡,没有比较特别的地方。 工作 从去年8月来到这公司,是个做旅游产品的互联网公司,平时里做的事可以说是很简单,我只能说&…

IntelliJ IDEA快捷键总结

搜索类快捷键 快捷键描述Ctrl F文件内查找字符串Ctrl Shift F按照文本的内容查找双击Shift查找任何内容,可搜索类、资源、配置项、方法等,还能搜索路径Ctrl Shift R全局资源查找和替换Ctrl N按类名搜索类,比如 Java,Groovy…

python小波分析法检测火焰_一种基于小波分析的网络流量异常检测方法

一种基于小波分析的网络流量异常检测方法杜臻;马立鹏;孙国梓【期刊名称】《计算机科学》【年(卷),期】2019(046)008【摘要】对大量网络流量数据进行高质量特征提取与异常识别是做好网络取证的重要基础.文中重点研究并实现了网络取证中的数据处理并建立了模型库.对一种基于小波分…

初学Linux第三周

简单shell脚本:#!/bin/bash 第一行必须包括shell声明序列:#!##********************************************************************#Author: *****#QQ: *****#Date: 2018-12-31#FileName: hello.sh#URL: http#Descriptio…

python使用ddt找不到方法_python使用ddt过程中遇到的问题及解决方案【推荐】

前言:在使用DDT数据驱动HTMLTestRunner输出测试报告时遇到过2个问题:1、生成的测试报告中,用例名称后有dict() -> new empty dictionary2、使用ddt生成的用例名称无法更改1、用例名称后有dict() -> new empty dictionary报告中用例名称…

合同的不含税与税额怎么算

假设税率是6% 不含税金额=总金额/1.06 税额=不含税金额0.06 增值税在线计算器:http://www.ab126.com/goju/7332.html 大小写转换:https://link.fobshanghai.com/rmb.htm?t1525225925284 工作日计算:http://www.fy…

Promise进阶——如何实现一个Promise库

概述 从上次更新Promise/A规范后,已经很久没有更新博客了。之前由于业务需要,完成了一个TypeScript语言的Promise库。这次我们来和大家一步一步介绍下,我们如何实现一个符合Promise/A规范的Promise库。 如果对Promise/A规范还不太了解的同学&…

python中isinstance(3、object)_python中isinstance函数判断各种类型的小细节

1. 基本语法isinstance(object, classinfo)Return true if the object argument is an instance of the classinfo argument, or of a (direct, indirect or virtual)subclass thereof. Also return true if classinfo is a type object (new-style class) and object is an ob…

[前端漫谈] 做一个四则计算器

0x000 概述 近期重新开始学习计算机基础方面的东西,比如计算机组成原理、网络原理、编译原理之类的东西,目前正好在学习编译原理,开始对这一块的东西感兴趣,但是理论的学习有点枯燥无味,决定换种方式,那就是…

程序员笔试面试后上机_hcie面试有哪些要注意的事项?

大家都知道,华为认证hcie考试分为三个部分,分别是笔试、lab实验和面试。其中,考生讨论得最多的就是面试部分,因为面试不同于笔试和lab实验,自己埋头答题和操作就行,面试要面对考官,考核的东西非…

【Infragistics教程】在javascript构造函数中创建基本继承

2019独角兽企业重金招聘Python工程师标准>>> 【下载Infragistics Ultimate最新版本】 用javascript创建对象有四种方法。具体如下: 对象作为文本构造函数调用模式创建()方法在ES6之后使用类继承的实现因对象创建方法而异。本文将解…

python爬虫ssl错误_Python爬虫:Requests的SSLError:certificate verify failed问题解决方案6条...

问题:脚本是用Python写的,用到开源库play-scraper,调用其collectionAPI来获取Google Play的Top App列表。该库使用了requests作为客户端来对Google Play进行操作。当脚本执行时,会报如下错误:certificate verify faile…

2019年1月3日

数组 字面量创建数组 1. var arr[]; []里边可以放数字,字符串,true,false,null,undefined,数组([1,2,3]),对象{x:1,y:2} var arr[1,2…

vertex 3.0 与SpringBoot混合开发之初探

SpringBoot是最近几年比较流行的web应用开发框架,它是微服务的一个开发框架。它的Web服务器内核为Tomcat或Jetty,它们作为Servlet容量来对客户端的http/https请求进行解析。最近,spring.io又出推出一套新的服务器内核框架,它就是W…

switch芯片和phy芯片的区别_感应式芯片卡CPU卡的FM1208-9和FM1208-10有什么区别,你知道吗?...

感应式CPU卡是目前芯片卡中安全系统较高的芯片,使用范围也较为广泛,但是这款CPU分为FM1208-9和FM1208-10,那你们知道分别代表什么意思呢?他们之间有什么不同呢?CPU白卡FM是什么?首先,我们来说下…

每次登陆都要滑动验证_湖人队冠军成员卡鲁索很吃香:每次谈判都有N支球队点名要他...

10月24日NBA直播台讯:洛杉矶湖人队助理教练迈克-彭伯西在接受媒体采访时透露,湖人队替补控球后卫卡鲁索目前在联盟中很吃香。湖人队每次进行交易谈判时,对方球队都点名想要卡鲁索。彭伯西表示:“每一次我们在休赛期或者交易截止日…

[HAOI2015]按位或

朴素的 f[S]表示S到(1<<n)的期望次数 发现1的个数只增加不减少 所以可以类似拓扑序的图&#xff0c;然后枚举子集O(3^n)转移 没有优化的余地 另辟蹊径&#xff1a; 拆开每一位来看 t[i]表示第i位变成1的次数 ansE(max(t[i])) 根据min-max容斥 得到&#xff1a;ans∑E(t[i…

MySQL在DOS指令里面的使用以及增删改查的使用

本人的第一条博客&#xff0c;选中我的电脑单机右键&#xff0c;点开管理&#xff0c;选中服务找到MySQL57.启动该服务。回退至桌面&#xff0c;按住winR 输入cmd打开DOS指令的窗口。 在窗口输入: mysql -h localhost -u root -p 显示password输入提示&#xff1a;表示已经…