例如,当我有:
def function(text):
print(text)
mylist = [function('yes'),function('no')]
mylist[0]
它只打印 yes 和 no,不对 mylist[0]
做任何事情。
我希望它能够使用列表中的参数调用函数,而不是在程序启动时运行函数。这可能吗?
最佳答案
听起来你想存储预绑定(bind)参数的函数。您可以使用 functools.partial
给你一个已经定义了部分或全部参数的函数:
from functools import partial
def f(text):
print(text)
mylist = [partial(f, 'yes'), partial(f,'no')]
mylist[0]()
# yes
mylist[1]()
# no
关于python - 您可以将带有参数的函数存储在列表中,然后在 Python 中调用它们吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59221490/