python的issubclass和isinstance以及property

issubclass(A類,B類) A類如果是B類的子類,則返回True
isinstance(object,classinfo) 檢查一個實例對象是否是某類的
1.第一個參數如果不是對象,則永遠返回false
2.第二個參數不是類或者由類對象組成的元組,會拋出一個TypeError異常
hasattr(object,'name') 第一個參數爲對象,第二個參數爲屬性名,判斷屬性是否屬於某對象
getattr(object,name,[default]) 判斷某屬性是否存在,存在則返回屬性值,不存在則報錯,如果指定default字符串,則返回固定字符串
setattr(object,name,value) 給對象設置屬性,第一個參數爲對象名,第二個參數爲字符串類型屬性名,第三個參數爲屬性值
delattr(對象名,‘屬性名’) 刪除對象的某個屬性
property(獲取屬性的方法,設置屬性的方法,刪除屬性的方法) 設置定義好的屬性:

>>> class C:
    def __init__(self,size = 10):
        self.size = size
        pass
    def getSize(self):
        return self.size
    def setSize(self,value):
        self.size = value
        pass
    def delSize(self):
        del self.size
        pass
    x = property(getSize,setSize,delSize)
    pass

>>> c1 = C()
>>> c1.getSize()
10
>>> c1.x
10
>>> c1.x = 50
>>> c1.x
50
>>> del c1.x
>>> c1.size
Traceback (most recent call last):
  File "<pyshell#54>", line 1, in <module>
    c1.size
AttributeError: 'C' object has no attribute 'size'
>>> 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章