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