类里面,@property广泛应用在类的定义中,可以让调用者写出简短的代码,同时保证对参数进行必要的检查,这样,程序运行时就减少了出错的可能性。
@property #getting
@xxx.setter #setting
关于只读属性:只定义getter方法,不定义setter方法就是一个只读属性。
关于,函数命名,和变量:
1 getting和setting函数的函数名相同
2 self._width 或者self.__width,一定要有下划线(不确定,以后再确定。但无下划线会报错
例子:
请利用@property给一个Screen对象加上width和height属性,以及一个只读属性resolution:
代码:
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):
return self._width * self._height
#测试
s = Screen()
s.width = 1024
s.height = 768
print('resolution =', s.resolution)
if s.resolution == 786432:
print('测试通过!')
else:
print('测试失败!')
网友评论