一、判断一个类是不是另外一个类的子类issubclass
issubclass(A,B)表示判断B是不是A的子类,返回布尔值
二、isinstance(object,classinfo)检查一个实例对象是不是属于一个类,也可以传入一个元组元组里面有多各类
三、hasattr(object,name)测试一个对象里面是不是有指定的属性,name是属性名
class C:
def __init__(self,x=0):
self.x=x
c1=C()
hasattr(c1,'x')#判断x是否在对象c1中,属性名x必须要用''标注
四、getattr(object,name[,default]) 当你的指定的属性name不存在object中时,就返回你设置的default,若没有则报错,default可以是字符串
class C:
def __init__(self,x=0):
self.x=x
c1=C()
getattr(c1,'x','没有')#判断x是否在对象c1中,属性名x必须要用''标注
hasattr(c1,'x')#返回Ture
五、setattr()与getattr()对应
六、property作用是设置一个属性,这个属性的作用是设置定义好的属性。
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)
c1=C()
print(c1.getSize())
print(c1.x)
c1.x=18
print(c1.x)
结果: