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

面向对象(五)——面向对象进阶

时间:2018-08-23 22:11:40      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:att   图片   src   label   删除   形式   分享图片   dict   gif   

一、isinstance与issubclass方法

1、isinstance是用来判断对象是否是某个类

  isinstance(obj,class)

2、issubclass是用来判断一个类是否为另一个类的子类

  issubclass(Bar,Foo)

技术分享图片
 1 class Foo:
 2     pass
 3 
 4 
 5 class Bar(Foo):
 6     pass
 7 
 8 
 9 obj = Foo()
10 print(isinstance(obj, Foo))      # True
11 
12 print(issubclass(Bar, Foo))      # True
isinstance与issubclass

二、反射

1、什么是反射

通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射)

2、四个反射函数

name必须用字符串表示

hasattr(object,name)   # 判断object中有没有一个name字符串对应的方法或属性

setattr(object,name, value)         # 设置object对象的name属性的值问value

getattr(object,name,None)         # 获取object对象的name属性的值,若没有那么属性,则返回None

delattr(object,name)            # 删除object对象的name属性
技术分享图片
 1 class Foo:
 2     pass
 3 
 4 
 5 obj = Foo()
 6 setattr(obj, name, tom)
 7 setattr(obj, age, 19)
 8 print(obj.__dict__)     # {‘name‘: ‘tom‘, ‘age‘: 19}
 9 
10 print(hasattr(obj, name))         # True
11 
12 print(getattr(obj, name))      # tom
13 print(getattr(obj, name1, None))        #None
14 
15 delattr(obj,name)  
16 print(obj.__dict__)         # {‘age‘: 19}
View Code

三、内置方法

http://www.cnblogs.com/linhaifeng/articles/6204014.html#_label3

面向对象(五)——面向对象进阶

标签:att   图片   src   label   删除   形式   分享图片   dict   gif   

原文地址:https://www.cnblogs.com/linagcheng/p/9526310.html

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