issubclass(class,classinfo)
如果第一个参数是第二个参数的一个子类,便返回True,否则返回false
isinstance(object,classinfo)
如果第一个参数是第二个参数的实例对象,则返回True,否则返回False
hasattr(object,name)
测试一个对象是否有指定的属性
(属性名要用引号)
getattr(object,name[,defalut]
返回对象指定的属性值,如果指定的属性不存在,则返回default(可选参数)的值;若没有设置default参数,则抛出ArttributeError异常。
setattr(object,name,value)
与getattr()对应,setattr()可以设置对象中指定属性的值,如果指定的属性不存在,则会新建属性并赋值。
delattr(object,name)
与setattr()相反,delattr()用于删除对象中指定的属性,如果属性不存在,则抛出AttributeError异常。
property(fget=None,fset=None,fdel=None,doc=None)
通过属性来设置属性
class C:
def __init__(self,size=10):
self.size = size
def getSize(self):
return self.size
def setSize(self,value):
self.size = value
def delSize(self):
del self.size
x = property(getSize, setSize, delSize)
c= C()
c.x
10
c.x = 12
c.x
12
c.size
12
del c.x
c.size
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
c.size
AttributeError: 'C' object has no attribute 'size'