Python實現類似Java的反射
阿新 • • 發佈:2020-08-06
反射是通過字串的形式操作物件的相關成員
反射也就是通過字串的形式,匯入模組,通過字串的形式去模組中尋找指定函式,並執行。
Python中的反射功能有四個主要內建函式提供:
- 1、hasattr(模組, '成員'):根據字串的形式,去某個模組中檢查是否含有某個成員
- 2、getattr(模組, '成員'):根據字串的形式,去某個模組中獲取成員。詳細用法
- 3、setattr(模組, '成員'):根據字元創的形式,去某個某個模組中設定成員
- 4、delattr(模組,'成員'):根據字串的形式,去某個模組中刪除成員
Python在專案中使用反射:
一、需求
1、爬蟲有很多工,有一套自己的框架。任務是由一個對映模組,一一指定對映到業務模組上的。
2、這樣寫的話,耦合度很高,程式碼維護起來也比較麻煩。沒新增一個任務,都需要來註冊,好不麻煩
3、在這個反射過程中,發現以下幾點需要注意
1、Python不像Java的那樣,類名和檔名一樣。Python需要多一個找包的過程(我也不懂java的反射