python面向?qū)ο笳n程中如下代碼本地運行后報錯,求解
class?Programer(object): ????hobby='Play?Computer' ????def?__init__(self,?name,?age,?weight): ????????self.name?=?name ????????self._age?=?age ????????self.__weight?=?weight ???? ????@classmethod ????def?get_hobby(cls): ????????return?cls.hobby ????@property ????def?get_weight(self): ????????return?self.__weight ????def?self_introduction(self): ????????print?('My?name?is?%s?\nI?an?%s?years?old\n'?%(self.name,?self.age)) class?BackendProgramer(Programer): ????def?__int__(self,?name,?age,?weight,?language): ????????super(BackendProgramer,?self).__int__(name,?age,?weight) ????????self.language?=?language if?__name__?==?'__main__': ????programer?=?BackendProgramer.('Albert',?25,?80,?'Python') ????print?(dir(programer)) ????print?(programer.__dir__) ????print?(type(programer)) ????print?(isinstance(programer,?Programer))
報錯信息如下:
Traceback (most recent call last):
? File "C:/Users/WMY/Documents/python study/2017-2-12.py", line 26, in <module>
? ? programer = BackendProgramer('Albert', 25, 80, 'Python')
TypeError: __init__() takes 4 positional arguments but 5 were given
不懂啥意思,只有4個參數(shù)呀,求解?
2017-02-12
programer?=?BackendProgramer.('Albert',?25,?80,?'Python')? 改成
programer?=?BackendProgramer('Albert',?25,?80,?'Python')???
多了一個.
2017-02-12
21和22行的? __int__?? =======>? __init__
拼寫錯誤。。。。
個人還是比較喜歡Programer.__init__(self, age, name,weight)這種寫法, 好像更直觀