请帮看下错在哪?
来源:2-7 编程练习
慕沐2042916
2020-01-02 22:09:06
请帮看下错在哪?
class People(object):
# 重写People类的构造方法,并将参数n、a赋值给实例属性name、age
def __init__(self,n,a):
self.name = n
self.age = a
# 自定义实例方法speak(),实现格式化输出
def speak(self):
print('{0}说: 我{1}岁'.format(self.name,self.age))
class Speaker(object):
# 重写Speaker类的构造方法,并将参数n、c、t赋值给实例属性name、career、topic
def __init__(self,n,c,t):
self.name = n
self.career = c
self.topic = t
# 自定义实例方法speak(),实现格式化输出
def speak(self):
print('我叫{0},我是一个{1},我演讲的主题是 {2}'.format(self.name,self.career,self.topic))
class Student( People,Speaker):
def __init__(self, name, age, career, topic):
People.__init__(self, n, a)
Speaker.__init__(self, n, c, t)
pass
s = Student('Jonh', '演说家', 'Python')
# s对象调用父类的speak( )方法
s.speak()
# 格式化打印Student是否为Speaker的子类
print('Student是否为Speaker的子类:{}'.format(issubclass(Student,Speaker)))
# 格式化打印Student是否为People的子类
print('Student是否为Speaker的子类:{}'.format(issubclass(Student,People)))
1回答
同学你好:
1、
同学继承父类的构造方法时,传参出现错误。应该是Student类构造方法的每一个形参名称。
2、
同学需要定义一个speak方法,在该方法中继承Speaker类的speak方法。
3、
同学创建初始化对象时,要根据Student类形参列表的个数进行传参。
如果我解决了同学的问题,请采纳!学习愉快^_^。
相似问题