日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python通過函數名調用函數的幾種場景

瀏覽:25日期:2022-07-10 11:23:27

一、說明

之前寫了一篇“Python執行系統命令教程”講了如何執行系統命令。

除了執行系統命令外,我們有時還需要動態地執行一些python代碼,有經驗的朋友就會知道可以使用內置函數eval實現這一需求,如eval('print(__file__)'),這還是比較簡單的。

但如果要動態執行一個函數,講的資料就會少一點,這次就要看這個需求該如何實現。

二、通過eval實現

2.1 通過eval調用同一個類內的函數

class TestA: def __init__(self): self.config_dict = { 'be_called_function_name': 'self.be_called_function()', } pass def active_call_function(self): print('here is active_call_function.') be_called_function_name = self.config_dict['be_called_function_name'] # 就直接調用。如果有其他參數,一樣地傳就好了 # 另外也可以是'be_called_function_name'是'be_called_function',然后eval(be_called_function_name)() eval(be_called_function_name) pass def be_called_function(self): print('here is be_called_function.')if __name__ == '__main__': obj = TestA() obj.active_call_function()

2.2 通過eval調用同一個文件內的一級函數

class TestA: def __init__(self): self.config_dict = { 'be_called_function_name': 'be_called_function()', } pass def active_call_function(self): print('here is active_call_function.') be_called_function_name = self.config_dict['be_called_function_name'] # 就直接調用。如果有其他參數,一樣地傳就好了 # 另外也可以是'be_called_function_name'是'be_called_function',然后eval(be_called_function_name)() eval(be_called_function_name) passdef be_called_function(): print('here is be_called_function.')if __name__ == '__main__': obj = TestA() obj.active_call_function()

三、通過getattr實現

3.1 通過函數名調用同一個類內的函數

class TestA: def __init__(self): self.config_dict = { 'be_called_function_name': 'be_called_function', } pass def active_call_function(self): print('here is active_call_function.') # getaattr(module_name, function_name),module_name傳self即可 be_called_function = getattr(self, self.config_dict['be_called_function_name']) # 就直接調用。如果有其他參數,一樣地傳就好了 be_called_function() pass def be_called_function(self): print('here is be_called_function.')if __name__ == '__main__': obj = TestA() obj.active_call_function()

3.2 通過函數名調用其他類的函數

class TestA: def __init__(self): self.config_dict = { 'be_called_function_name': 'be_called_function', } pass def active_call_function(self): print('here is active_call_function.') # getaattr(module_name, function_name),module_name傳被調用的函數所在的類的類實例 testb_obj = TestB() be_called_function = getattr(testb_obj, self.config_dict['be_called_function_name']) # 就直接調用。如果有其他參數,一樣地傳就好了 be_called_function() passclass TestB: def be_called_function(self): print('here is be_called_function.')if __name__ == '__main__': obj = TestA() obj.active_call_function()

3.3 通過函數名調用同文件的一級函數

import sysclass TestA: def __init__(self): self.config_dict = { 'be_called_function_name': 'be_called_function', } pass def active_call_function(self): print('here is active_call_function.') # getaattr(module_name, function_name),module_name傳當前模塊名 module_name = sys.modules[’__main__’] be_called_function = getattr(module_name, self.config_dict['be_called_function_name']) # 就直接調用。如果有其他參數,一樣地傳就好了 be_called_function() passdef be_called_function(): print('here is be_called_function.')if __name__ == '__main__': obj = TestA() obj.active_call_function()

3.4 通過函數名調用在其他文件的一級函數

class TestA: def __init__(self): self.config_dict = { 'be_called_function_name': 'be_called_function', } pass def active_call_function(self): print('here is active_call_function.') # getaattr(module_name, function_name),module_name傳函數所在模塊名 # __import__()傳函數所在文件 module_name = __import__('test_call_function_by_string1') be_called_function = getattr(module_name, self.config_dict['be_called_function_name']) # 就直接調用。如果有其他參數,一樣地傳就好了 be_called_function() passif __name__ == '__main__': obj = TestA() obj.active_call_function()

以上就是python通過函數名調用函數的幾種場景的詳細內容,更多關于python通過函數名調用函數的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久国产欧美日韩精品| 久久在线免费| 国产精品毛片aⅴ一区二区三区| 久久亚洲精品中文字幕蜜潮电影| 欧美激情视频一区二区三区在线播放| 亚洲小说春色综合另类电影| 亚洲韩日在线| 国产成人免费精品| 国产九一精品| 日本在线成人| 久久国产精品99国产| 久久97久久97精品免视看秋霞| 在线观看视频免费一区二区三区| 久久精品国产99久久| 麻豆网站免费在线观看| 久久久亚洲欧洲日产| 国产精品黄网站| 爽爽淫人综合网网站| 影视先锋久久| 日韩在线综合| 精品久久久久久久| 国产一区二区亚洲| 免费成人性网站| 国产欧美日韩在线一区二区 | 奇米777国产一区国产二区| 日韩精品高清不卡| 久久中文精品| 日本精品在线中文字幕| 国产视频一区免费看| 99综合视频| 亚洲综合中文| 精品视频亚洲| 亚洲精华国产欧美| 欧美一区=区三区| 樱桃视频成人在线观看| 国产亚洲在线观看| 国产欧美日韩在线一区二区 | 欧美 日韩 国产一区二区在线视频 | 韩国久久久久久| 欧美一区三区| 日韩有吗在线观看| 91综合网人人| 免费久久精品视频| 欧美激情aⅴ一区二区三区| 正在播放日韩精品| 麻豆亚洲精品| 久久av导航| 欧美一级精品| 国产亚洲精品美女久久| 欧产日产国产精品视频| 亚洲精品进入| 精品国产亚洲一区二区三区在线 | 综合一区av| 精品欧美视频| 男女男精品网站| 成人午夜在线| 一级成人国产| 亚洲精品在线影院| 欧美亚洲tv| 狠狠久久婷婷| 国产一区二区三区精品在线观看| 国产亚洲毛片| 国产一区二区三区四区二区| 欧洲激情综合| 国产激情一区| 在线综合视频| 国产拍在线视频| 日本久久二区| 91九色精品| 久久精品欧洲| 亚洲aⅴ网站| 激情欧美一区| 国内在线观看一区二区三区| 日韩专区在线视频| 欧美黄色网页| 国产精品网址| 中文字幕日韩亚洲| 四虎成人av| 日欧美一区二区| 久久精品高清| 久久精品一本| 日韩一区二区三区四区五区 | 精品视频在线你懂得| 亚洲97av| 老司机精品久久| 久久精品青草| 成人在线免费观看91| 日本免费新一区视频| 久久黄色影院| 国产一区福利| 国产调教精品| 视频一区中文字幕精品| 欧美中文一区二区| 日本久久精品| 免费一级欧美片在线观看网站| 日韩欧美美女在线观看| 亚洲一区二区毛片| 亚洲天堂久久| 欧美亚洲精品在线| 亚洲四虎影院| 新版的欧美在线视频| 欧美激情亚洲| 国产精品66| 欧美国产视频| 里番精品3d一二三区| 国产精品一区二区三区www| 日韩精品久久久久久久软件91| 香蕉久久夜色精品国产| 91精品二区| 99re国产精品| 蜜乳av另类精品一区二区| 日韩一级不卡| 日韩视频一区二区三区在线播放免费观看| 久久久久久久久久久9不雅视频| 精品网站aaa| 高潮久久久久久久久久久久久久| 精品亚洲成人| 麻豆mv在线观看| 另类中文字幕国产精品| 视频小说一区二区| 欧美二区视频| 制服诱惑一区二区| 在线综合欧美| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲综合国产| 综合国产精品| 国产私拍福利精品视频二区| 国产精品羞羞答答在线观看| 免费在线亚洲欧美| jizzjizz中国精品麻豆| 欧美精选视频一区二区| 激情欧美国产欧美| 夜夜精品视频| 蜜臀精品久久久久久蜜臀| 日韩三区四区| 美女精品久久| 日韩专区精品| 99久久精品费精品国产| 在线 亚洲欧美在线综合一区| 亚洲一区二区小说| 国产视频一区二| 国际精品欧美精品| 99国产精品一区二区| 亚洲一区成人| 91精品国产自产精品男人的天堂| 欧美极品中文字幕| 亚洲va中文在线播放免费| 偷拍欧美精品| 欧美一区二区三区免费看| 欧美精品第一区| 日韩精品欧美| 蜜桃久久精品一区二区| 日韩av黄色在线| 另类小说一区二区三区| 久久精品亚洲欧美日韩精品中文字幕| 国产视频一区在线观看一区免费| 日韩成人一级| 91麻豆国产自产在线观看亚洲| 深夜视频一区二区| 免费人成精品欧美精品| 欧美精品导航| 波多野结衣一区| 日本aⅴ精品一区二区三区 | 国产精品女主播一区二区三区| 亚洲色图国产| 国产欧美日韩在线观看视频| 中文字幕在线看片| 丝袜美腿亚洲色图| 麻豆精品久久久| 亚洲免费精品| 免费一级欧美片在线观看网站| 在线成人动漫av| 日韩精品久久久久久久软件91| 国产不卡一区| 亚洲欧美日本视频在线观看| 国产精品视频一区二区三区综合| 999国产精品| 欧美啪啪一区| 美女网站一区| 国产精品一区二区三区美女 | 福利欧美精品在线| 黄色精品网站| 麻豆精品在线播放| 亚洲一区二区三区高清不卡| 你懂的网址国产 欧美| 欧美成人国产| 国产精品红桃| 亚洲一区日本| 精品国产午夜肉伦伦影院| 中文亚洲欧美| 三上亚洲一区二区| 日韩美女国产精品| 欧美三级精品| 国产精品日韩精品中文字幕| 久久青草久久| 美女毛片一区二区三区四区最新中文字幕亚洲 | 久久精品免费一区二区三区| 日本成人在线不卡视频| 免费不卡中文字幕在线| 国产精品99久久免费|