1. 程式人生 > 實用技巧 >Python實現類似Java的反射

Python實現類似Java的反射

反射是通過字串的形式操作物件的相關成員

反射也就是通過字串的形式,匯入模組,通過字串的形式去模組中尋找指定函式,並執行。

Python中的反射功能有四個主要內建函式提供:

  • 1、hasattr(模組, '成員'):根據字串的形式,去某個模組中檢查是否含有某個成員
  • 2、getattr(模組, '成員'):根據字串的形式,去某個模組中獲取成員。詳細用法
  • 3、setattr(模組, '成員'):根據字元創的形式,去某個某個模組中設定成員
  • 4、delattr(模組,'成員'):根據字串的形式,去某個模組中刪除成員

Python在專案中使用反射:

一、需求
1、爬蟲有很多工,有一套自己的框架。任務是由一個對映模組,一一指定對映到業務模組上的。

如圖:


2、這樣寫的話,耦合度很高,程式碼維護起來也比較麻煩。沒新增一個任務,都需要來註冊,好不麻煩

3、在這個反射過程中,發現以下幾點需要注意

1、Python不像Java的那樣,類名和檔名一樣。Python需要多一個找包的過程(我也不懂java的反射