#coding=utf-8 # @property装饰器就是负责把一个方法变成属性调用 class Screen(object): def __init__(self): self.__height = 0 self.__width = 0 self.__resolution = 0 @property def height(self): return self.__height @property def width(self): return self.__width @property def resolution(self): return self.__resolution @height.setter def height(self,value): if not isinstance(value,int): raise ValueError('height must be an integer!') self.__height = value self.__resolution = self.__height * self.__width @width.setter def width(self,value): if not isinstance(value,int): raise ValueError('width must be an integer!') self.__width = value self.__resolution = self.__height * self.__width @resolution.setter def resolution(self,value): raise SyntaxError('resolution is onlyread!') s = Screen() s.width = 1024 s.height = 768 print(s.width,s.height,s.resolution) assert s.resolution == 786432, '1024 * 768 = %d ?' % s.resolution
Sign in to make a reply
夏蝉live