python - 您可以将带参数的函数存储在列表中,然后在 Python 中调用它们吗?
问题描述
例如,当我有:
def function(text):
print(text)
mylist = [function('yes'),function('no')]
mylist[0]
它只打印 yes 和 no 并且不使用mylist[0]
.
我希望它能够使用列表中的参数调用函数,并且在程序启动时不运行函数。这可能吗?
解决方案
听起来您想存储预先绑定参数的函数。您可以使用functools.partial
已定义的部分或全部参数为您提供函数:
from functools import partial
def f(text):
print(text)
mylist = [partial(f, 'yes'), partial(f,'no')]
mylist[0]()
# yes
mylist[1]()
# no
推荐阅读
- node.js - 发布/订阅云功能不更新子集合中的文档
- java - springboot 删除一行,然后显示/重新加载同一页面(没有该行)
- postgresql - 我可以根据临时表删除行/替换表吗
- php - 隐藏元素直到每 4 小时开始前一分钟
- java - spring-boot maven rest 应用程序需要哪些依赖项?
- forms - AMP 表单上没有正文提交
- python - 使用 librosa 提取 melspctogram 的 3D 数组
- python - 如何在 Django 中动态注入 HTML 代码
- tomcat - 无法访问安装在 GCE 上的 Tomcat
- python - 刮印最后输出三遍而不是三遍