isinstance/type/issubclass的用法,反射(hasattr,getattr,setattr,delattr)
程序员文章站
2022-03-26 12:19:35
6.23 自我总结 面向对象的高阶 1.isinstance/type/issubclass 1.type 显示对象的类,但是不会显示他的父类 2.isinstance 会显示的对象的类,也会去找对象的父类,填写参数是对象,类isinstance(对象,类)如果对象属于后面的类会报Ture,反之Fa ......
6.23 自我总结
面向对象的高阶
1.isinstance/type/issubclass
1.type
显示对象的类,但是不会显示他的父类
2.isinstance
会显示的对象的类,也会去找对象的父类,填写参数是对象,类isinstance(对象,类)如果对象属于后面的类会报ture,反之false
3.issubclass
与isinstance 相似不过他填写的参数是类与类
4.总结
来说:type(对象)不会认为子类是一种父类类型;isinstance(对象,类)会认为子类是一种父类类型。
2.反射(hasattr,getattr,setattr,delattr)
反射就是通过字符串来操作类或者对象的属性
-
反射本质就是在使用内置函数,其中反射有以下四个内置函数:
1. hasattr:判断一个方法是否存在与这个类中 2. getattr:根据字符串去获取obj对象里的对应的方法的内存地址,加"()"括号即可执行 3. setattr:通过setattr将外部的一个函数绑定到实例中 4. delattr:删除一个实例或者类中的方法
1.hasattr
用法: print(hasattr(对象,对象的方法或者特征),)后面内容必须为字符串的格式,如果有返回true,没有返回false
2.getattr
用法: print(getattr(对象,对象的方法或者特征)),后面内容必须为字符串的格式,后面的内容必须对象有的,也返回其特征对应的内容
3.setattr
用法:setattr(ywy,',对象的方法或者特征,对应的值) , 如果没有该特征或者方法会新增,如果有则替换
4.delattr
用法:delattr(ywy,',对象的方法或者特征),删除对象拥有的方法或者特征
上一篇: 爬虫之requests进阶
下一篇: django 路由系统
推荐阅读
-
反射 | hasattr() | getattr() | setattr() | delattr() 的使用方法
-
#python中的反射方法,getattr,setattr,hasattr,delattr
-
Python类的BIF(issubclass, isinstance, hasattr ,getattr, setattr, delattr)
-
python中的反射: hasattr、getattr、setattr 和 delattr*
-
isinstance/type/issubclass的用法,反射(hasattr,getattr,setattr,delattr)
-
isinstance/type/issubclass的用法,反射(hasattr,getattr,setattr,delattr)