@
1.说明
property属性,返回的是值
不是callable的,也就是不能使用方法来调用
只能传入self,不能传入其他
用处,能返回局部数据,比如当分页的时候
上面的为get方法,还有set方法和delete方法
当del后,再次调用会抛异常
property就相当于javabean里面的getter,setter
一共有两种方法:装饰器,类属性
第二种方法可以使用doct,但是调用的时候使用类来调用
使用property能简化数据获取的流程
2.代码
class Provice(object):
def __init__(self, index):
# 实例属性
self.index = index
@property
def index_(self):
return self.index * 2
@index_.setter
def index_(self,value):
self.index = value
@index_.deleter
def index_(self):
del self.index
def get_bar(self):
return self.index * 2
def set_bar(self,value):
self.index = value
def del_bar(self):
del self.index
BAR = property(get_bar,set_bar,del_bar,"description")
if __name__ == '__main__':
ddd = Provice(2)
print(ddd.index_)
ddd.index_ = 25
print(ddd.index_)
# del ddd.index_
# print(ddd.index_)
print(ddd.BAR)
ddd.BAR = 1
print(ddd.BAR)
print(Provice.BAR.__doc__)
# del ddd.BAR
关于作者
个人博客网站
个人GitHub地址
个人公众号: