Python 反射機制

2022-09-07 13:21:10 字數 1061 閱讀 3201

1、hasattr(obj,name_str)   #判斷乙個物件obj裡是否有對應的字串的方法

getattr(obj,name_str)

#根據字串去獲取obj物件裡的對應的記憶體位址,

字串是 變數則返回值

setattr(obj,'y','z') #根據字串設定屬性(方法,變數)

delattr(obj,name_str) 刪除

2、demo

class

dog(object):

def__init__

(self,name):

self.name=name

defeat(self,food):

print('

%s 開始吃

'%self.name,food)

defbulk(self):

print('

1233 %s

' %self.name)

d=dog('

李富貴'

)chaer=input('

輸入:'

).strip()

ifhasattr(d,chaer):

#func=getattr(d,chaer)

#func('包子')

setattr(d,chaer,'

雷') #

修改原來變數的內容

print

(getattr(d, chaer))

delattr(d,chaer) #刪除

print

(d.name)

else

: setattr(d,chaer,bulk)

#新增新方法,返回記憶體位址

func=getattr(d,chaer)

func(d)

#setattr(d, chaer, 22) #新增新變數,返回值

#print(getattr(d,chaer))

python反射機制

本文總結python的反射機制,以及其簡單應用 首先要說的是globals 函式 在沒有任何模組匯入的情況下,執行globals函式,函式返回的是乙個包含當前作用域的全域性變數的字典,key是全域性範圍內物件的名字。globals 然後先導入乙個模組 os 在執行globals函式 import o...

python反射機制

反射的本質 反射就是通過字串的形式,匯入模組 通過字串的形式,去模組尋找指定函式,並執行。利用字串的形式去物件 模組 中操作 查詢 獲取 刪除 新增 成員,一種基於字串的事件驅動!下面我們通過反射機制在web路由上的應用來介紹反射 首先我們來看如下 的設計 users.py 模組中 visit模組中...

python反射機制

根據不同的場景執行不同的函式,可以將這種寫入配置中,讀取配置,執行對應的函式,這個時候獲取的函式為字串,如何執行該字串呢?反射就是通過字串的形式,匯入模組 反射就是通過字串的形式,匯入模組 通過字串的形式,去模組尋找指定函式,並執行。利用字串的形式去物件中操作屬性或者函式利用字串的形式去物件中操作屬...