免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 1652|回复: 10
收起左侧

各位大神,这个person类为啥继承不了啊,p2.speak输出就是正常,p3.speak就这个错误

[复制链接]

2

主题

2771

铜板

1

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
44
QQ
发表于 2022-3-1 11:30 | 显示全部楼层 |阅读模式
本帖最后由 大硕 于 2022-3-1 13:47 编辑

初学者,各位大神,这个person类为啥继承不了啊,p2.speak输出就是正常,p3.speak就这个错误
class person:
    def __init__(self,name,age,like):
        self.name=name
        self.age=age
        self.like=like
    def eat(self):
        print(self.name+'开始吃饭!')
    def speak(self):
        print('%s说:我%d岁了,我爱好%s。'%(self.name,self.age,self.like))
p=person('小明',5,'画画')
class student(person):
        def __init__(self,name,age,like,grade):
            person.__init__(self,name,age,like)
            self.grade=grade
        def speak(self):
            print('%s说:我%d岁了,我爱好%s,我在读%d年级。'%(self.name,self.age,self.like,self.grade))
        def learn(self):
            print(self.name+'开始学习了!')
p2=student('小云',8,'唱歌',4)
class staff(person):
    def __init__(self,name,age,like,job):
        #self.name=name
        self.job=job
    def speak(self):
        print('%s说:我%d岁了,我爱好%s,我的职业是%s。'%(self.name,self.age,self.like,self.job))
    def work(self):
        print(self.name+'开始工作!')
p3=staff('小李',25,'打球','工程师')
p3.speak()

1646105151(1).png

324

主题

56万

铜板

1172

好友

等待验证会员

Rank: 1

积分
349368

宣传勋章爱心勋章组织勋章官方团队冰雪节勋章

发表于 2022-3-1 11:33 | 显示全部楼层
欢迎论坛的高手解答,会奖励相应的威望和铜板哦
回复 支持 反对

使用道具 举报

1

主题

1万

铜板

10

好友

地信专家组

Rank: 14Rank: 14Rank: 14Rank: 14

积分
723

地信专家组名人堂勋章10周年纪念勋章

发表于 2022-3-1 11:38 | 显示全部楼层
看起来是staff没有正确使用name/age等参数进行初始化

评分

参与人数 1威望 +20 铜板 +50 收起 理由
jimi21 + 20 + 50 感谢回复!

查看全部评分

回复 支持 反对

使用道具 举报

2

主题

2771

铜板

1

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
44
QQ
 楼主| 发表于 2022-3-1 13:46 | 显示全部楼层
葱葱团团 发表于 2022-3-1 11:38
看起来是staff没有正确使用name/age等参数进行初始化

那怎么修改能让程序运行起来?
回复 支持 反对

使用道具 举报

2

主题

2771

铜板

1

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
44
QQ
 楼主| 发表于 2022-3-1 13:47 | 显示全部楼层
class person:     def __init__(self,name,age,like):         self.name=name         self.age=age         self.like=like     def eat(self):         print(self.name+'开始吃饭!')     def speak(self):         print('%s说:我%d岁了,我爱好%s。'%(self.name,self.age,self.like)) p=person('小明',5,'画画') class student(person):         def __init__(self,name,age,like,grade):             person.__init__(self,name,age,like)             self.grade=grade         def speak(self):             print('%s说:我%d岁了,我爱好%s,我在读%d年级。'%(self.name,self.age,self.like,self.grade))         def learn(self):             print(self.name+'开始学习了!') p2=student('小云',8,'唱歌',4) class staff(person):     def __init__(self,name,age,like,job):         #self.name=name         self.job=job     def speak(self):         print('%s说:我%d岁了,我爱好%s,我的职业是%s。'%(self.name,self.age,self.like,self.job))     def work(self):         print(self.name+'开始工作!') p3=staff('小李',25,'打球','工程师') p3.speak()
回复 支持 反对

使用道具 举报

1

主题

1万

铜板

10

好友

地信专家组

Rank: 14Rank: 14Rank: 14Rank: 14

积分
723

地信专家组名人堂勋章10周年纪念勋章

发表于 2022-3-1 14:47 | 显示全部楼层
staff中你注释掉的那一行,添加一个
person.__init__(self,name,age,like)
回复 支持 反对

使用道具 举报

2

主题

2771

铜板

1

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
44
QQ
 楼主| 发表于 2022-3-1 14:58 | 显示全部楼层
葱葱团团 发表于 2022-3-1 14:47
staff中你注释掉的那一行,添加一个
person.__init__(self,name,age,like)

可以了,多谢你
回复 支持 反对

使用道具 举报

33

主题

5万

铜板

24

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
12424

活跃勋章

发表于 2022-12-3 21:49 | 显示全部楼层
路过,学习了。
回复 支持 反对

使用道具 举报

2

主题

1万

铜板

7

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
6401
发表于 2023-1-10 10:30 | 显示全部楼层
感谢楼主分享
回复 支持 反对

使用道具 举报

0

主题

2万

铜板

6

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3630
发表于 2023-2-28 16:26 | 显示全部楼层
路过支持一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表