Python函数指针

我将函数名称存储在这样的变量中:


myvar = 'mypackage.mymodule.myfunction'

我现在想这样调用myfunction


myvar(parameter1, parameter2)

最简单的方法是什么?


万千封印
浏览 531回答 3
3回答

FFIVE

funcdict = {  'mypackage.mymodule.myfunction': mypackage.mymodule.myfunction,    ....}funcdict[myvar](parameter1, parameter2)

POPMUISE

能够只存储函数本身会更好,因为它们是python中的一流对象。import mypackagemyfunc = mypackage.mymodule.myfunctionmyfunc(parameter1, parameter2)但是,如果必须动态导入软件包,则可以通过以下方法实现:mypackage = __import__('mypackage')mymodule = getattr(mypackage, 'mymodule')myfunction = getattr(mymodule, 'myfunction')myfunction(parameter1, parameter2)但是请记住,所有这些工作都适用于您当前所在的任何范围。如果您不以某种方式坚持使用它们,那么如果您离开本地范围,就不能指望它们会继续存在。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python