类和对象一些内置相关的BIF(property)

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

结果:
结果

发布了19 篇原创文章 · 获赞 7 · 访问量 888

猜你喜欢

转载自blog.csdn.net/Pyouthon/article/details/104331706