python之域与属性

python, javascript中域与属性是二个不同的概念, 域就是变量, 而属性则是符合某些约束, 例如getter, setter...等的特殊"变量".

python中使用property()函数定义属性, 该函数接收4个参数: getter, setter, deler, description.

示例:

>>> __metaclass__=type
>>> class Rectangle:
...     def __init__(self):
...             self.width=0;
...             self.height=0;
...     def setSize(self,size):
...             self.width, self.height=size
...     def getSize(self):
...             return self.width, self.height
...     size=property(getSize,setSize)
...
>>> r=Rectangle()
>>> r.width=10
>>> r.height=5

>>> r.size
(10, 5)
>>> r.size=150,100
>>> r.width
150

posted @ 2016-09-07 11:40  zolo®  阅读(146)  评论(0编辑  收藏  举报