【Pyton】【小甲鱼】类和对象:一些相关的BIF(内置函数)

1.issubclass(class,classinfo)

1)一个类被认为是其自身的子类

2)classinfo可以使类对象组成的元祖,只要class与其中任何一个候选类的子类,则返回True。

 1 >>> class A:
 2     pass
 3 
 4 >>> class B(A):
 5     pass
 6 
 7 >>> issubclass(B,A)
 8 True
 9 >>> issubclass(B,B) #B是自身的子类
10 True
11 >>> issubclass(B,object)
12 True
13 >>> issubclass(B,C)
14 Traceback (most recent call last):
15   File "<pyshell#35>", line 1, in <module>
16     issubclass(B,C)
17 NameError: name 'C' is not defined
18 >>> class C:
19     pass
20 
21 >>> issubclass(B,C)
22 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)---通过属性设置属性。获取,设置,删除

 1 >>> class C:
 2     def __init__(self,size=10):
 3         self.size=size #实例属性
 4     def getSize(self):
 5         return self.size
 6     def setSize(self,value):
 7         self.size=value
 8     def delSize(self):
 9         del self.size
10     x=property(getSize,setSize,delSize)
11 
12     
13 >>> c1=C()
14 >>> c1.getSize() #获得c1中属性值
15 10
16 >>> c1.x #直接访问x获得属性值
17 10
18 >>> c1.x=18 #重新设置属性值
19 >>> c1.x
20 18
21 >>> c1.getSize()
22 18
23 >>> del c1.x
24 >>> c1.size
25 Traceback (most recent call last):
26   File "<pyshell#19>", line 1, in <module>
27     c1.size
28 AttributeError: 'C' object has no attribute 'size'

 

posted @ 2017-03-17 22:01  猪猪宝丫  阅读(275)  评论(0编辑  收藏  举报