python3輸出結果不同
class Person(object):
? ? 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
? ? ? ? def __str__(self):
? ? ? ? ? ? return '(Student:%s,%s,%d)'%(self.name,self.gender,self.score)
? ? ? ? ? ? __repr__=__str__? ? ??
s=Student('Bob','male',88)
print(s)
請問一下大家,為啥我輸出的結果是:<__main__.Student object at 0x000001E6FDB190F0>
2019-08-31
兄弟,你縮進有問題, __str__在__init__的縮進里,所以編譯器把__str__當成在__init__中定義的函數了
python對縮進很嚴格的。。。