issubclass
issubclass(A,B)
isinstance(object,classinfo)
class A(object):
pass
class B(A):
pass
class C(object):
pass
a=A()
b=B()
isinstance(a,A) -->True
isinstance(a,B) -->False
isinstance(b,A) -->True
isinstance(b,B) -->True
isinstance(b,(C,B)) -->True
hasattr(object,name)
class D(object):
def __init__(self,x=0):
self.x=x
d=D()
hasattr(d,'x')-->True
hasattr(d,x)
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'x' is not defined
getattr(object,name[,default])
getattr(d,'x')
0
getattr(d,'y')
Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'D' object has no attribute 'y'
getattr(d,'y','您所访问的属性值不存在。。。')
'您所访问的属性值不存在。。。'
setattr(object,name,value])
setattr(d,'y','FishC')
getattr(d,'y','您所访问的属性值不存在。。。')-->'FishC'
delattr(object,name)
class C(object):
def __init__(self,size=10):
self.size=size
def getsize(self):
return self.size
def setsize(self,value):
self.size=value
return self.size
def delsize(self):
del self.size
x=property(getsize,setsize,delsize)
c=C()
c.x
10
c.x=18
c.x
18
c.getsize()
18
del c.x
c.getsize()```