麻煩大神看一下,為什么代碼運(yùn)行后顯示Skill不存在?(已解決)
class Person(object):
? ? def __init__(self, name, age):
? ? ? ? self.name = name
? ? ? ? self.age = age
class Student(Person):
? ? def __init__(self, name, age, grade):
? ? ? ? super(Student, self).__init__(name, age)
? ? ? ? self.grade = grade
class Teacher(Person):
? ? def __init__(self, name, age, subject):
? ? ? ? super(Teacher,self).__init__(name,age)
? ? ? ? self.subject = subject
class Skill(object):
? ? def __init__(self,skill):
? ? ? ? self.skill = skill
class Basketball(Skill):
? ? def __init__(self,skill, level):
? ? ? ? super(Basketball, self).__init__(skill)
? ? ? ? self.level = level
class Football(Skill):
? ? def __init__(self,skill,level):
? ? ? ? super(Football, self).__init__(skill)
? ? ? ? self.level=level
class BK(Student,Basketball):
? ? def __init__(self,name,age,grade,skill,level,practise_time):
? ? ??Student.__init__(self,name, age, grade)
? ? ? Basketball.__init__(self, skill, level)?#? super(BK,self).__init__(name,age,grade,skill,level)(原來(lái)是這樣寫(xiě)的,外部調(diào)用不了第二父類的屬性)
? ? ? ? BK.practise_time=practise_time
class FT(Teacher,Football):
? ? def __init__(self,name,age,subject,skill,level,practise_time):
? ? ? ?Teacher.__init__(self,name,age,subject)
? ? ? ?Football.__init__(self,skill,level)
# super(FT,self).__init__(name,age,subject,skill,level)
? ? ? ? FT.practise_time = practise_time
a = BK('LiMing', 13, 13,'Basketball', 3, 6)
b = FT('LiLei', 40, 'Math', 'Football',6,20)
print(a.age)
print(b.skill)
2021-11-23
外部調(diào)用不了第二父類的屬性,醍醐灌頂!
2021-09-01
代碼可以運(yùn)行,要注意class BK和class FT這兩個(gè)類里面__init__()方法代碼的空格,空格要統(tǒng)一