首页 > 代码库 > python基础19 -------面向对象终结篇(介绍python对象中各种内置命令)

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__函数。

 

 

 

    

 

python基础19 -------面向对象终结篇(介绍python对象中各种内置命令)