文章詳情頁
python - 有一個函數(shù)名(字符串形式),如何能夠調(diào)用這個函數(shù)?
瀏覽:112日期:2022-09-11 15:04:42
問題描述
比如:
def afunc(): return 0
現(xiàn)在我有變量s=’afunc’,(此處僅舉例,實際操作時名字是可變的)那么想調(diào)用afunc函數(shù)應(yīng)當(dāng)怎么操作呢?
補充說明:我的意思是,在實際應(yīng)用中,我沒有辦法知道這個函數(shù)具體名字叫什么(上面的afunc只是隨便舉個例子),但我知道他的名字保存在一個字符串s中,我有的僅僅是s這個變量,那么我能不能通過這個s,來對那個函數(shù)進(jìn)行調(diào)用
問題解答
回答1:根據(jù)你的描述,可以參考以下代碼
環(huán)境:python2.7.11
import sysdef afunc(): return 0s= 'afunc'get_afunc = getattr(sys.modules[__name__], s)print get_afunc()
運行結(jié)果
假設(shè)你寫這個函數(shù)的文件叫a.py,在a.py所屬的文件夾下新建一個文件叫b.py,在b.py的開頭寫上from a import afunc,這樣你在b.py中就可以使用afunc()了。
排行榜

熱門標(biāo)簽