1.issubclass(class,classinfo)
1)一个类被认为是其自身的子类
2)classinfo可以使类对象组成的元祖,只要class与其中任何一个候选类的子类,则返回True。
>>> class A:
pass >>> class B(A):
pass >>> issubclass(B,A)
True
>>> issubclass(B,B) #B是自身的子类
True
>>> issubclass(B,object)
True
>>> issubclass(B,C)
Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
issubclass(B,C)
NameError: name 'C' is not defined
>>> class C:
pass >>> issubclass(B,C)
False
2.isinstance(object,classinfo)
1)如果第一个参数不是对象,则永远返回false
2)如果第二个参数不是类或者由类对象组成的元祖,会抛出一个TypeError异常。
3.hasattr(object,name)---第一个参数为对象,第二个参数为属性---判断对象中是否有某一属性
4.getattr(object,name[,default])--第一个参数为对象,第二个对象为属性,第三个参数为没在对象中找到该属性的自定义报错信息
5.setattr(object,name,value)----第一个参数为对象,第二个参数为属性,第三个参数为没有找到该属性自动创建该属性对应的赋值
6.delattr(object,name)--删除对象中不存在的属性,如果不存在则会抛出Attributeerror的异常。
7.property(fget=None,fset=Nnoe,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) >>> c1=C()
>>> c1.getSize() #获得c1中属性值
10
>>> c1.x #直接访问x获得属性值
10
>>> c1.x=18 #重新设置属性值
>>> c1.x
18
>>> c1.getSize()
18
>>> del c1.x
>>> c1.size
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
c1.size
AttributeError: 'C' object has no attribute 'size'