class?Person:
????def?__init__(self,name,gender):
????????self.name=name
????????self.gender=gender
class?Student(Person):
????def?__init__(self,name,gender,score):
????????super(Student,?self).__init__(name,gender)
????????self.score=score
class?Teacher(Person):
????def?__init__(self,name,gender,subject):
????????super(Teacher,?self).__init__(name,?gender)
????????self.subject=subject
class?SkillMixin:
????def?__init__(self,skill):
????????self.skill=skill
class?BasketballMixin(SkillMixin):
????def?__init__(self,skill,basketball):
????????super(BasketballMixin,?self).__init__(skill)
????????self.basketball=basketball
class?FootballMixin(SkillMixin):
????def?__init__(self,skill,football):
????????super(FootballMixin,?self).__init__(skill)
????????self.football=football
class?BasStudent(Student,BasketballMixin):
????def?__init__(self,name,gender,score,skill,basketball):
????????super(BasStudent,?self).__init__(name,gender,score)
????def?getskill(self):
????????print("我叫?%s,我會(huì)打%s?"%(self.name,self.basketball))
a=Student('jiji','boy',13)
b=BasketballMixin('high','籃球',)
c=BasStudent.getskill()
print(c)
2022-03-06
class BasStudent(Student,BasketballMixin):
? ? def __init__(self,name,gender,score,skill,basketball):
? ? ? ? super(BasStudent, self).__init__(name,gender,score)
? ? def getskill(n,k):
? ? ? ? print("我叫 %s,我會(huì)打%s "%(n,k))
a=Student('jiji','boy',13)
b=BasketballMixin('high','籃球',)
c=BasStudent.getskill(a.name,b.basketball)
--我改成這個(gè)樣子,好像能得到題主想要的結(jié)果。其原因在于如果用getskill(self),因?yàn)橛袃蓚€(gè)父類,self無法區(qū)分(或者我還不知道該怎樣區(qū)分)student或basketballmixin。然后我就偷懶這樣改了。??