对象的属性有时候是私有的,要想获取这些属性需要通过存取器方法(get和set),我们在用到对象的这些属性的时候需要用提前定义好的set和get函数来操作这些属性。这种需要用到存取方法定义的属性就是特性。
通过函数property可以创建对象的特性。property函数以存取方法作为参数,为对象建立一个特性。
>>> class circle:
def __init__(self):
self.x=30
self.y=60
def set_pos(self,pos):
self.x,self.y=pos
def get_pos(self):
return self.x,self.y
pos =property(get_pos,set_pos)
>>> c=circle()
>>> c.pos
(30, 60)
>>> c.pos=90,120
>>> c.pos
(90, 120)
代码中通过函数property建立了一个pos的特性,pos特性可以像普通属性一样使用,而不用专门为其定义存取器的方法。
网友评论