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'
>>> 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章