子类只能继承父类的方法
Topic sourceclass Student(object): def __init__(self, name, score, age): self.name = name self.score = score self.age = age
def print_imformation(self):
print ('name is %s, score is %s, age is %s' % (self.name, self.score, self.age))
class Couple(Student): def _init_(self, name, score, age, sex): Student.__init__(self, name, score, age) self.sex = sex def print_imformation(self): print ('name is %s, score is %s, age is %s, sex is % s' % (self.name, self.score, self.age, self.sex))
Zhang = Student('Zhangliangcheng', 80, 22) Yong = Student('Yonglinan', 72, 19) Lu = Student('Luxiaofeng', 90, 21) Yma = Couple('Yma', 80, 40, 'male') Yma.print_imformation()
这样修改就可以让子类直接继承父类的属性了。
Traceback (most recent call last): File "17.py", line 20, in <module> Yma = Couple('yma', 80, 40, 'male') TypeError: init() takes 4 positional arguments but 5 were given
明明只有四个参数啊,怎么说传了5个?
Yma = Couple('yma', 80, 40, 'male')
TypeError: init() takes 4 positional arguments but 5 were given
这个错你改了吗 求助楼上 万分感谢
class Student(object): def init(self, name, score, age): self.name = name self.score = score self.age = age
def print_imformation(self): print ('name is %s, score is %s, age is %s' % (self.name, self.score, self.age)) class Couple(Student): def init(self, name, score, age, sex): Student.init(self, name, score, age) self.sex = sex def print_imformation(self): print ('name is %s, score is %s, age is %s, sex is % s' % (self.name, self.score, self.age, self.sex))
Zhang = Student('Zhangliangcheng', 80, 22) Yong = Student('Yonglinan', 72, 19) Lu = Student('Luxiaofeng', 90, 21) Yma = Couple('Yma', 80, 40, 'male') Zhang.print_imformation() 为何加上最后一行,就执行不了?想调用Zhang,Yong,Lu的信息都失败,请大神指点!
Zhang.print_imformation()
Zhang是父类的实例。并不是子类Couple的实例。
而print_imformation()是子类Couple的一个方法,Zhang是调用不了的。除非你在前面改为Zhang = Couple('Zhangliangcheng', 80, 22,'male'),再调用Zhang.print_imformation()就没问题。
- 1
- 2
伞内的星空
并不能继承父类的属性。 class Student(object): def __init(self, name, score, age): self.name = name self.\score = score self.__age = age
class Couple(Student): def __init(self, name): self.\name = name def print_imformation(self): print ('name is %s' % self.__name)
Zhang = Student('Zhangliangcheng', 80, 22) Yma = Couple('Yma') Yma.print_imformation()
子类的属性应该是要自己重新定义。