property(fget,fset,fdel,doc) #只有fget参数,产生的属性是只读的 #(可选)fdel参数:用于删除特性的方法(它不须要参数) #(可选)doc参数:文档字符串 #若是property()没有参数,产生的属性既不可读,也不可写
property(fget,fset,fdel,doc)
#只有fget参数,产生的属性是只读的
#(可选)fdel参数:用于删除特性的方法(它不须要参数)
#(可选)doc参数:文档字符串
#若是property()没有参数,产生的属性既不可读,也不可写
#使用访问器方法获取属性 class Rectangle: def __init__(self): self.width = 0 self.height = 0 def setSize(self,size): # self.width = size # self.height = size self.width,self.height = size #注意也能够这样写 def getSize(self): return self.width,self.height r = Rectangle() r.height =8 r.width = 9 print r.getSize() #输出(9, 8) r.setSize((16,18)) print r.width #输出 16 #使用 property() __metaclass__ = type #定义为新式类,要在新式类中使用 property() class Rectangle: def __init__(self): self.width = 0 self.height = 0 def setSize(self,size): # self.width = size # self.height = size self.width,self.height = size #注意也能够这样写 def getSize(self): return self.width,self.height size = property(getSize,setSize) # property建立属性,其中访问器被用做参数(先取值,后赋值) r = Rectangle() r.height =8 r.width = 9 print r.size #输出(9,8) r.size = 16,18 print r.width #输出 16
#使用访问器方法获取属性
class Rectangle:
def __init__(self):
self.width = 0
self.height = 0
def setSize(self,size):
# self.width = size
# self.height = size
self.width,self.height = size #注意也能够这样写
def getSize(self):
return self.width,self.height
r = Rectangle()
r.height =8
r.width = 9
print r.getSize() #输出(9, 8)
r.setSize((16,18))
print r.width #输出 16
#使用 property()
__metaclass__ = type #定义为新式类,要在新式类中使用 property()
class Rectangle:
def __init__(self):
self.width = 0
self.height = 0
def setSize(self,size):
# self.width = size
# self.height = size
self.width,self.height = size #注意也能够这样写
def getSize(self):
return self.width,self.height
size = property(getSize,setSize) # property建立属性,其中访问器被用做参数(先取值,后赋值)
r = Rectangle()
r.height =8
r.width = 9
print r.size #输出(9,8)
r.size = 16,18
print r.width #输出 16