码迷,mamicode.com
首页 > 其他好文 > 详细

内置函数的补充与getattrebuit

时间:2018-07-01 17:44:02      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:存在   异常处理   tee   方法   print   ISE   pass   实现   同时存在   

isinstance(g1,Room)判对象g1是否为Room类的实例化对象
issubclass(danyuan,Room)判断danyuan类是否为Room类的子类
__getattr__  __getattribute__
当只有前者的时候,如果实例化对象查找的属性或者方法不存在,前者会被触发,若二者同时存在,后者只要执行就触发,而前者不会,若要前者也能触发执行,需要在后者加入异常处理
具体代码实现如下:
 1 class Room:
 2     def __init__(self,num):
 3         self.name=num
 4 
 5     def __getattr__(self, item):
 6         print("11111111111111")
 7 
 8     def __getattribute__(self, item):
 9         print(22222222222222)
10         raise AttributeError("天王盖地虎")
11 
12 class danyuan(Room):
13     pass
14 
15 r1=Room(007)
16 # print(isinstance(g1,Room))
17 # print(issubclass(danyuan,Room))
18 
19 r1.name

 



内置函数的补充与getattrebuit

标签:存在   异常处理   tee   方法   print   ISE   pass   实现   同时存在   

原文地址:https://www.cnblogs.com/wen-kang/p/9250532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!