zoukankan      html  css  js  c++  java
  • 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、如下:

      

        

  • 相关阅读:
    JS如何获取并操作iframe中的元素?
    CSS(14)元素定位
    C#基础 [01] 从Hello World 开始
    CSS(15)浮动
    C#基础 [05] 类和对象
    关于Visual Studio 2010 编辑器的一些设置
    Ext JS(1)Ext JS简介
    C#基础 [03] 类型和成员
    Python中基本数据类型的学习
    Python:集合与字符串格式化
  • 原文地址:https://www.cnblogs.com/xuanan/p/7133024.html
Copyright © 2011-2022 走看看