class Screen(object): @property def width(self): return self._width @property def height(self): return self._height @property def resolution(self): return self._height*self._width @width.setter def width(self,value): self._width=value @height.setter def height(self,value): self._height=value
s=Screen() s.width=1024 s.height=768 print(s.resolution) assert s.resolution == 786432, "1024*768 = %d ?" % s.resolution
此处为什么属性前面必须加下划线,不过不加的话,会报maximum recursion depth exceeded
Sign in to make a reply
tytttta
class Screen(object): @property def width(self): return self._width @property def height(self): return self._height @property def resolution(self): return self._height*self._width @width.setter def width(self,value): self._width=value @height.setter def height(self,value): self._height=value
s=Screen() s.width=1024 s.height=768 print(s.resolution) assert s.resolution == 786432, "1024*768 = %d ?" % s.resolution
此处为什么属性前面必须加下划线,不过不加的话,会报maximum recursion depth exceeded