日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python语言学习:基于python五种方法实现使用某函数名【func_01】的字符串格式('func_01')来调用该函数【func_01】执行功能

發(fā)布時間:2025/3/21 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python语言学习:基于python五种方法实现使用某函数名【func_01】的字符串格式('func_01')来调用该函数【func_01】执行功能 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Python語言學習:基于python五種方法實現(xiàn)使用某函數(shù)名【func_01】的字符串格式('func_01')來調(diào)用該函數(shù)【func_01】執(zhí)行功能

?

?

目錄

問題提出

代碼五種設計思路

T1方法:eval()

T2方法: locals() 和 globals()

T3方法:

T4、方法

T5方法

綜合


?

?

?

問題提出

如何將提取得到的字符串(該字符串且等于函數(shù)名),此時該函數(shù)名是字符串格式,如何用作函數(shù)實現(xiàn)其功能?

?

?

代碼五種設計思路


T1方法:eval()

通常用來執(zhí)行一個字符串表達式,并返回表達式的值。在這里它將字符串轉換成對應的函數(shù)。eval() 功能強大但是比較危險(eval is evil),不建議使用。

print('eval() 通常用來執(zhí)行一個字符串表達式,并返回表達式的值。在這里它將字符串轉換成對應的函數(shù)。') for func in func_list:eval(func)()

?

T2方法: locals() 和 globals()

是python的兩個內(nèi)置函數(shù),通過它們可以一字典的方式訪問局部和全局變量。

print('locals() 和 globals() 是python的兩個內(nèi)置函數(shù),通過它們可以一字典的方式訪問局部和全局變量。') for func in func_list:locals()[func]() for func in func_list:globals()[func]()


? ??
T3方法:

print('methodcaller方法') class Foo:def do_foo(self):print('執(zhí)行do_foo()函數(shù)')def do_bar(self):print('執(zhí)行do_bar()函數(shù)')f = Foo() from operator import methodcaller methodcaller('do_foo')(f)

?

T4、方法

print('globals().get') globals().get('foo')


? ??
? ??

T5方法

getattr() 是 python 的內(nèi)建函數(shù),getattr(object,name) 就相當于 object.name,但是這里 name 可以為變量。

print('getattr()方法') import foo getattr(foo, 'bar')()?

?

綜合

def foo(): print("foo")def bar():print("bar") func_list = ["foo","bar"]#T1方法:eval() 通常用來執(zhí)行一個字符串表達式,并返回表達式的值。在這里它將字符串轉換成對應的函數(shù)。eval() 功能強大但是比較危險(eval is evil),不建議使用。 print('eval() 通常用來執(zhí)行一個字符串表達式,并返回表達式的值。在這里它將字符串轉換成對應的函數(shù)。') for func in func_list:eval(func)()#T2方法: locals() 和 globals() 是python的兩個內(nèi)置函數(shù),通過它們可以一字典的方式訪問局部和全局變量。 print('locals() 和 globals() 是python的兩個內(nèi)置函數(shù),通過它們可以一字典的方式訪問局部和全局變量。') for func in func_list:locals()[func]() for func in func_list:globals()[func]()#T3方法: print('methodcaller方法') class Foo:def do_foo(self):print('執(zhí)行do_foo()函數(shù)')def do_bar(self):print('執(zhí)行do_bar()函數(shù)')f = Foo() from operator import methodcaller methodcaller('do_foo')(f)#T4、方法: print('globals().get') globals().get('foo')#T5方法: getattr() 是 python 的內(nèi)建函數(shù),getattr(object,name) 就相當于 object.name,但是這里 name 可以為變量。 print('getattr()方法') import foo getattr(foo, 'bar')()

總結

以上是生活随笔為你收集整理的Python语言学习:基于python五种方法实现使用某函数名【func_01】的字符串格式('func_01')来调用该函数【func_01】执行功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。