我有一个相对较大的程序,我已将其拆分为多个模块 - 因此,不同模块中的功能之间有很多重叠,我目前正在努力删除这些重叠。
我遇到的问题之一是需要将函数和类作为参数传递给其他函数和类 - 在定义它们之前。
我知道我可以将函数名称作为字符串传递并使用 exec(),理论上我也可以使用带有标准化键的字典。但是我想知道如何通过将函数用作另一个函数参数中的对象来调用函数。
我知道多个函数和类将无括号函数作为参数并调用它们 - 所以我确信这是可能的。问题是如何?
基本示例是:
def func1(some_function):
#call some_function here
并在一个单独的模块中:
def func2():
print("Success!")
最终结果是:
>>>func1(func2)
'Success!'
我正在使用Python 3.4。我还假设适用于函数的方法也适用于类。
最佳答案
def func1(some_function):
#call some_function here
简单地变成
def func1(some_function):
some_function()
函数是 Python 中的第一类对象。
关于python - 调用作为不带括号的参数传递的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26277200/