最新回答 / 慕后端4177492
#coding=utf-8? ?class Animal(): passdog = Animal()dog.name = "旺財"dog.age = 2cat = Animal()cat.name = 'Tom'cat.age = 3
2022-04-29
最新回答 / 土斤土斤
__slots__ 只能限制為實例對象動態添加屬性和方法,而無法限制動態地為類添加屬性和方法。因為你是直接往類里面添加屬性和方法,所以實例s能訪問到age這個Student類的屬性
2022-04-26
最新回答 / Dreamweaver3662984
class Person:? ? def __init__(self, name, gender):? ? ? ? self.name = name? ? ? ? self.gender = genderclass SkillMixin:? ? def __init__(self, skill):? ? ? ? self.skill = skill? ? def say(self):? ? ? ? print("技能是 %s" %(self.skill))class BasketballMixin(Ski...
2022-04-24
最新回答 / 打字的狐貍
實例的屬性定義函數中也不能直接調用私有的類屬性,需要加一個類方法,在實例的屬性定義中:class Animal(object):? ? __count=0? ? def __init__(self,name,age):? ? ? ? self.name=name? ? ? ? self.age=age? ? ? ? Animal.set_count()? ? @classmethod? ? def set_count(cls):? ? ? ? cls.__count+=1? ? @classmethod?...
2022-04-23
最新回答 / weixin_慕圣3493772
你在BasStudent里面兩次調用了super方法,一廂情愿地認為會分別調用兩個父類的init方法,但實際上不是,所以程序報錯認為缺參數(可能是兩次調用了同一個三參數的父類init方法)。具體原因我也沒搞清楚,不過網上的忠告:不惜一切代價地避免多重繼承,它帶來的麻煩比能解決的問題都多。如果你非要用,那你得準備好專研類的層次結構,以及花時間去找各種東西的來龍去脈吧!
2022-03-05
最新回答 / 慕前端7080484
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,我會打%s "%(n,k))a=Student('jiji','boy',13)b=BasketballM...
2022-03-04