class Screen(object): @property def width(self): return self.__width @width.setter def width(self, value): self.__width = value @property def height(self): return self.__height @height.setter def height(self, value): self.__height = value @property def resolution(self): self.__resolution = self.__height * self.__width return self.__resolution# 测试:s = Screen()s.width = 1024s.height = 768print('resolution =', s.resolution)if s.resolution == 786432: print('测试通过!')else: print('测试失败!')print(dir(Screen))
我在最后print了Screen的dir,发现他的属性里有'height', 'resolution', 'width'这三项,也就是说通过@property和@func.setter把方法转换成了属性。不过在转换的过程中,有调用 .__width .__height 和.__resolution 这三项,为什么在dir里不会出现这三项呢?很疑惑,求解答
Sign in to make a reply
在星期八我没有姓名
我在最后print了Screen的dir,发现他的属性里有'height', 'resolution', 'width'这三项,也就是说通过@property和@func.setter把方法转换成了属性。不过在转换的过程中,有调用 .__width .__height 和.__resolution 这三项,为什么在dir里不会出现这三项呢?很疑惑,求解答