Python 如何在子类派生的新方法中重用父类的功能
一、方法一:与继承无关
指名道姓法,直接用类名.函数名的方法
注意只能当普通函数用,需要把所有的值传入
class OldboyPeople:def __init__(self,name,age,sex):self.name=nameself.age=ageself.sex=sexdef f1(self):print('%s say hello' %self.name)class Teacher(OldboyPeople):def __init__(self,name,age,sex,level,salary):OldboyPeople.__init__(self,name,age,sex)self.level = levelself.salary=salarytea_obj=Teacher('egon',78,'male',10,3000)
print(tea_obj.__dict__)
# {'name': 'egon', 'age': 78, 'sex': 'male', 'level': 10, 'salary': 3000}
二、方式二:严格来继承属性查找关系
super()会得到一个特殊的对象,该对象就是专门用来访问父类中的属性的(按照继承的关系 )
super().__init__
(不用为self传值)
注意:super的完整的用法是super(自己的类名,self),在python2中要写完整,而在
python3则不用,直接用super()
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
class OldboyPeople:def __init__(self,name,age,sex):self.name=nameself.age=ageself.sex=sexdef f1(self):print('%s say hello' %self.name)class Teacher(OldboyPeople):def __init__(self,name,age,sex,level,salary):# super(Teacher,self).__init__(name,age,sex)super().__init__(name,age,sex) # 调用的是方法,自动传入对象self.level = levelself.salary=salaryprint(Teacher.mro())
tea_obj=Teacher('egon',18,'male',10,3000)
print(tea_obj.__dict__)#[<class '__main__.Teacher'>, <class '__main__.OldboyPeople'>, <class 'object'>]
#{'name': 'egon', 'age': 18, 'sex': 'male', 'level': 10, 'salary': 3000}
Python 如何在子类派生的新方法中重用父类的功能相关推荐
- Python面向对象子类中重用父类的属性
一.指名道姓的方式,不依赖于继承 示例代码如下: class Hero:def __init__(self, nick_name, life_value, aggresivity):self.nick ...
- python3 模块调用其他类的方法_python类的函数调用 python如何引用其他模块中类的方法中的变量?...
python中类内部的函数可以互相调用吗? python 如何调用类的方法要遇上一个人只要用一分钟的时间:要喜欢上一个人只要用一句话的时间:要爱上一个人只要用一天的时间:但要忘记一个人却要用一生的时间 ...
- OAF在打开的新页面中添加按钮,功能是关闭当前页面
OAF在打开的新页面中添加按钮,功能是关闭当前页面 javascript:close()
- 子类方法中super.父类方法
1.子类方法super.父类方法,并且有自己的方法体内容 下面代码中,子类方法中的"super."的意思就是父类对象调用该方法 2.一个类中只能有一个public的class,别的 ...
- 云朵机(人造云朵,造云机)用在互动百科推搜索新方法中(转)
云朵机于5月8日中午出现在北京大学推广活动中, 活动一开始,上空出现了一朵朵栩栩如生的云朵机产生的"笑脸"状云彩,引得众多师生驻足观看.而更加令人惊讶的是,在"微笑云&q ...
- java 子类调用父类内部类_java 如何在子类方法中实例化父类的内部类?
匿名用户 1级 2012-07-30 回答 public interface Interface1 { void method1(); } public class Class1 { protecte ...
- python基础——继承与派生、组合
python基础--继承与派生 1 什么是继承: 继承是一种创建新的类的方式,在python中,新建的类可以继承自一个或者多个父类,原始类成为基类或超累,新建的类成为派生类或子类 1.1 继承分为:单 ...
- Python实战从入门到精通第二十讲——调用父类方法
在子类中调用父类的某个已经被覆盖的方法. 为了调用父类(超类)的一个方法,可以使用 super() 函数,比如: class A:def spam(self):print('A.spam')class ...
- java如何调用父类的实例对象_java子类调用父类的方法中包含子类重写的实例方法...
java子类调用父类的方法中包含子类重写的实例方法 # 看题目是不是很绕,这个我也不知道怎么才能更简单的表达了 # 先看代码: public class Common { public static ...
最新文章
- docker报错:driver failed programming external connectivity on endpoint, iptables:No chain by that name
- GIL+死锁与递归锁+信号量+event事件
- 磁盘管理及文件系统管理
- 7 orm 有批量更新_ORM之SQLAlchemy
- (转)Fur Shader
- MTK6515 android打版软件配置(DrvGen.exe 使用)
- get request uni 参数_uni-app 环境配置,uni.request封装,接口配置,全局配置,接口调用的封装...
- 新近碰到的病毒(TR.Spy.Babonock.A)
- APP技巧:微信10个实用小技巧,太实用了,赶紧收藏!
- Android Fragment功能的例子
- python列表元素下标是什么_python列表中元素插入位置总结
- 自动驾驶感知-车道线系列(三)——霍夫变换
- springboot幂等性_springboot + redis + 注解 + 拦截器 实现接口幂等性校验
- C51- NRF24L01 无线串口模块
- SQL server卸载软件(可修复注册表)
- 一周信创舆情观察(11.22~11.28)
- 【matlab】GMSK高斯最小频移键控
- 怎么把用vue写的前后台项目打包上传到服务器让其能访问
- linux下载东西显示No package nginx available.无库可用
- 中国天气网天气预报API接口城市代码(XML格式,信息全)