"""
super()派生可以继承父类的属性
--super()派生继承父类的语法是:super().__init__()
--super().__init__()中的__init__()这个括号是不用传值self的
--super()的派生方法在Python2中是:super(自己的类名,self).__init__()
--super()的属性查找顺序,严格按照属性的查找顺序来做
先对象自己,然后再类,类中没有再到父类中找,父类中没有的话,才会报错。
"""
class OldPerson:
school='oldboy'
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
class OldStudent():
def __init__(self,name,age,sex,stu_id):
super().__init__(name,age,sex)
self.stu_id=stu_id
def choose_course(self):
print('%s is choosing course'%self.name)
return 'woaini '
stu1=OldStudent('luzhaoshan',25,'nan',2019)
print(stu1.__dict__)
print(stu1.choose_course())
报错信息如下:
Traceback (most recent call last):
File "E:/Python jieshiqi/9月份练习/9月6日/super()派生使用自己默写.py", line 32, in <module>
stu1=OldStudent('luzhaoshan',25,'nan',2019)
File "E:/Python jieshiqi/9月份练习/9月6日/super()派生使用自己默写.py", line 25, in __init__
super().__init__(name,age,sex)
TypeError: object.__init__() takes no arguments
"""
super()派生可以继承父类的属性
--super()派生继承父类的语法是:super().__init__()
--super().__init__()中的__init__()这个括号是不用传值self的
--super()的派生方法在Python2中是:super(自己的类名,self).__init__()
--super()的属性查找顺序,严格按照属性的查找顺序来做
先对象自己,然后再类,类中没有再到父类中找,父类中没有的话,才会报错。
"""
class OldPerson:
school='oldboy'
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
class OldStudent():
def __init__(self,name,age,sex,stu_id):
self.stu_id=stu_id
def choose_course(self):
print('%s is choosing course'%self.name)
return 'woaini '
stu1=OldStudent('luzhaoshan',25,'nan',2019)
print(stu1.__dict__)
print(stu1.choose_course())
报错信息如下:
Traceback (most recent call last):
{'stu_id': 2019}
File "E:/Python jieshiqi/9月份练习/9月6日/super()派生使用自己默写.py", line 34, in <module>
print(stu1.choose_course())
File "E:/Python jieshiqi/9月份练习/9月6日/super()派生使用自己默写.py", line 29, in choose_course
print('%s is choosing course'%self.name)
AttributeError: 'OldStudent' object has no attribute 'name'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!