self.age进行赋值操作(self.age = age)代表调用self的setAge方法,self.age不进行赋值操作(self.age)代表调用self这个类的getAge方法。
上面代码在setAge方法中写self.age = age,进行了赋值操作,那么就会调用setAge方法,等于又回到了setAge方法中去,又执行写self.age = age,又回到setAge中,即死循环。
同理getAge方法中也一样。
self:谁调用就是谁,可能是对象或者类 在你上面的代码中这里的self可能是Person对象或者Person的子类的对象。
这么解释希望你能明白(类的实现中一般不定义变量) |