python基础19 -------面向对象终结篇(介绍python对象中各种内置命令)
一、isinstance()和issubclass()命令
1、isinstance(对象,类型)
用来判定该对象是不是此类型或者说是该对象是不是此类的对象,返回结果为True和False,如图所示。
注:在python3中类和类型做了统一,都叫做类。
2、issubclass(对象(子类),对象(父类))
用来判定该对象是不是该父类的子类,返回的结果为True或False,如图所示。
二、反射
1、什么是反射?
反射就相当于程序能检测,访问和修改他本身状态和行为的一种能力,相当于自省。
2、python面向对象中的反射是通过字符串的形式操作对象的相关属性。因为python中一切事物都是对象,所以都可以使用反射。
3、类和对象中的反射(自省)。
3.1hasattr(object,name)
用来判断该类或对象中是否有name这个属性,返回的结果为True或者是False。
3.2getattr(object,name,none)
用来获取该类或对像的name属性,如果有返回正确结果,没有则报错。
3.3setattr(object,属性名,属性值)
用来添加该类或对象的属性。
4.3defattr(object,name)
用来删除该类或对象的属性。
4.5、以上四个反射的方法传入的值都是字符串的形式,就相对与操作类或对象所对应的字典的key和value。
其好处如下图:
4.6反射的好处:实现可插拔机制和动态导入模块。
三、__str__内置函数
1、该内置函数的主要目的是改变对象的显示。
2、示例:
注释:不加__str__,执行print(egon)时按照正常方式显示为绑定方法,加上__srt__后就会显示为__str__内指定的内容了。四、描述符。
1、__del__:当该对象被删除时执行此函数内的操作。
2、eg:
注释:对象被删除的方式有两种,一种是手动删除后执行__del__函数,另一种是读取完该对象时执行__del__函数。
四、__getitem__,__setitem__,__delitem__内置函数
1、该内置函数将对象访问属性的形式变为字典访问属性的形式。
2、如下:
最新文章
- TCP协议学习
- dubbox rest服务
- Aspose.Words基本操作
- 转 Netflix OSS、Spring Cloud还是Kubernetes? 都要吧!
- angular2开发01
- sql prompt5安装好了 也破解完成了 然后到SQL里面 还是没有提示 是为什么?
- 获取其他进程中ListBox和ComboBox的内容
- java向文件写数据的3种方式
- asp.net关于Repeater控件中的全选,批量操作
- Chartist.js-同时画柱状图和折线图
- jQuery实现表的编辑删除添加(增删改查)🌚
- 题解-bzoj4320 Homework
- 安装pytorch0.4.0
- [Luogu]A%BProblem——线性筛素数与前缀和
- jeecg 主-附表生成代码例子
- docker machine 使用教程
- Android给拼接好的Bitmap加上个性化边框
- Java 迭代器 工具类
- jersey 过滤器名称绑定的问题 NameBinding Provider
- Python基础语法学习整理