一、判断一个类是不是另外一个类的子类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)
结果:

本文详细介绍了Python中操作对象属性的几种方法,包括使用issubclass判断子类关系,isinstance检查实例类型,hasattr、getattr和setattr进行属性的存在检查及获取、设置,以及property装饰器的使用,帮助读者深入理解Python的对象属性管理。
667

被折叠的 条评论
为什么被折叠?



