一、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、如下:

  

    

最新文章

  1. TCP协议学习
  2. dubbox rest服务
  3. Aspose.Words基本操作
  4. 转 Netflix OSS、Spring Cloud还是Kubernetes? 都要吧!
  5. angular2开发01
  6. sql prompt5安装好了 也破解完成了 然后到SQL里面 还是没有提示 是为什么?
  7. 获取其他进程中ListBox和ComboBox的内容
  8. java向文件写数据的3种方式
  9. asp.net关于Repeater控件中的全选,批量操作
  10. Chartist.js-同时画柱状图和折线图
  11. jQuery实现表的编辑删除添加(增删改查)🌚
  12. 题解-bzoj4320 Homework
  13. 安装pytorch0.4.0
  14. [Luogu]A%BProblem——线性筛素数与前缀和
  15. jeecg 主-附表生成代码例子
  16. docker machine 使用教程
  17. Android给拼接好的Bitmap加上个性化边框
  18. Java 迭代器 工具类
  19. jersey 过滤器名称绑定的问题 NameBinding Provider
  20. Python基础语法学习整理

热门文章

  1. <转>Windows平台下Makefile学习笔记(一)
  2. IIS相关知识和经验的碎皮化记录
  3. Spark中经常使用工具类Utils的简明介绍
  4. 通过小书匠编辑器让印象笔记和evernote支持markdown编辑
  5. linux查看mysql运行日志
  6. Java交通灯系统
  7. Linux的驱动模块管理:modprobe
  8. 高度平衡树 -- AVL 树
  9. Oracle Data Provider for .NET的使用(二)-驱动更换与注意事项
  10. Matrix4x4矩阵 api