python之旅 六 自省

2022-01-28 20:59:05 字數 649 閱讀 6817

先看**:

>>>

class

myclass:

defhello_1(self):

return

'hello_1

'def

hello_2(self):

return

'hello_2

'>>>

defmain(index):

hello 

=getattr(myclass(),

'hello_%s'%

index,myclass().hello_1)

restr 

=hello()

print

restr

>>>

main(1)

hello_1

>>>

main(2)

hello_2

>>>

main(3)

hello_1

>>>

重要的是getattr函式,它接受三個引數,第乙個為模組,第二個為字串,第三個引數為模板的屬性或方法

getattr函式是這樣工作的,在模組中查詢是否有包括第二個引數的屬性或方法,如果有,則返回找到的這個屬性或方法名,如果沒有則返回第三個引數的屬性或方法,第三個引數是以預設值的方式存在的。

python 常用自省

1.type 返回物件型別,in 78 type os out 78 2.hasattr and getattr 分別判斷物件是否有某個屬性及獲得某個屬性,in 79 a lovely python in 80 hasattr a,split out 80 true in 81 getattr a,...

python反射 自省

反射 自省 的簡單理解 通過類名例項化物件 得到類的所有屬性和函式,並實現呼叫 簡單示例 coding utf 8 class user object def init self self.name abc self.age 18 defintroduce self print my name is...

python反射(自省)

前幾天用owlready構建rdf檔案時,使用類定義實體,屬性和資料屬性,類名就是乙個object,所有建立例項都需要例項類,但是現在資料有很多,我需要讓他們自動建立類的例項,他們的型別為字串,我需要把他們轉為該字串對應的類名,這裡提供了乙個方法 eval 例如name nametype 字串 cl...