前幾天用owlready構建rdf檔案時,使用類定義實體,屬性和資料屬性,類名就是乙個object,所有建立例項都需要例項類,但是現在資料有很多,我需要讓他們自動建立類的例項,他們的型別為字串,我需要把他們轉為該字串對應的類名,這裡提供了乙個方法
eval()
例如
name=
'nametype'
#字串
class_name=
eval
(name)
#字串名轉為對應的類
#例項化
class_name(
)
file_name 模組名 #類所在檔案
module =
__import__
(file_name)
aclass =
getattr
(module, class_name_str)()
#根據字元在檔案裡查詢
a = aclass(
)
使用globals()和locals()
globals()
[func]()
#返回的是全域性對應函式,屬性,類的乙個列表
globals()
[func]()
#返回的是區域性對應函式,屬性,類的乙個列表
函式同樣也可以呼叫上面的方法1 python反射 自省
反射 自省 的簡單理解 通過類名例項化物件 得到類的所有屬性和函式,並實現呼叫 簡單示例 coding utf 8 class user object def init self self.name abc self.age 18 defintroduce self print my name is...
python 反射 自省 inspect
自省 自省。正如你所知道的,自省是指 可以檢視記憶體中以物件形式存在的其它模組和函式,獲取它們的資訊,並對它們進行操作。用這種方法,你可以定義沒有名稱的函式,不按函式宣告的引數順序呼叫函式,甚至引用事先並不知道名稱的函式。反射有時候我們會碰到這樣的需求,需要執行物件的某個方法,或是需要對物件的某個字...
Python 物件導向 反射 自省
反射 程式可以訪問,檢測和修改它本身狀態或行為的一種能力 自省 下面就介紹四種實現自省的函式,適用於類和物件 1,判斷object中有沒有乙個name字串對應的屬性或者方法 hasattr object,name 2,獲取object中name字串對應的屬性值或者方法位址,其中default引數的作...