描述符:property 迭代器

知識回顧:property

class B:
    def __init__(self,size=10):  #初始化
        self.size = size
# 3個函數
    def getsize(self):    
        return self.size

    def setsize(self,size):
        self.size = size

    def delsize(self):
        del self.size

#property函數:參數是三個函數的名字
    x = property(getsize,setsize,delsize)  
-----------------------------------------------------
執行:
b = B()   實例化對象

b.x    < == >  b.getsize()

b.x = 數值  < == >  b.setsize()

del b.x  < == >  b.delsize

描述符:就是將某種特殊類型的類的實例指派給另一個類的屬性

class A:
    def __get__(self,isinstance,owner): #訪問A類對象時,調用
        print('getting...',self,isinstance,owner)

    def __set__(self,isinstance,owner): #設置A類對象時,調用
        print('setting...',self,isinstance,owner)

    def __delete__(self,isinstance):    #刪除A類對象時,調用
        print('delling...',self,isinstance)

class Test:
    a = A()   #描述符:將類A的對象a,作爲類Test的屬性

迭代器(每一次循環的結果作爲下一次迭代的初始值)

iter() next()

這裏寫代碼片
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章