1. 程式人生 > >python基礎19 -------面向對象終結篇(介紹python對象中各種內置命令)

python基礎19 -------面向對象終結篇(介紹python對象中各種內置命令)

.com 介紹 類和對象 python false 指定 事物 width images

一、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對象中各種內置命令)