python - 如何在不运行函数的情况下部分设置函数的参数?

标签 python function

我正在努力让我的用户的生活尽可能轻松,同时为他们提供完全的灵 active 。我需要编写函数供他们使用,但诀窍在于用户需要在运行之前选择函数。这是我想做的:

def standardGenerator(obj,param=8.0):
   # algorithm which generates stuff based on obj and param
   return stuff

opts.usersChoice = standardGenerator

在这个例子中,opts 是一个选项容器,提供给用户来设置他们想要的任何选项。当他们完成所有选项的设置后,他们将 opts 传回给我。

现在的问题是 objopts 到我手中之前是未知的,但也许用户想要 params=4.0而不是我的默认值。我的问题是允许用户设置 param 的最简单方法是什么?

这是我想到的想法:

def standardGenerator4(obj):
   return standardGenerator(obj,param=4.0)
opts.usersChoice = standardGenerator4

opts.usersChoice = lambda obj: standardGenerator(obj,4.0)

lambda 可能是最好的主意,但我想知道是否有其他方法可以做到这一点而不需要用户知道什么是 lambda 函数...

最佳答案

好吧,另一种方法是使用 functools.partial .

关于python - 如何在不运行函数的情况下部分设置函数的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9170430/

相关文章:

python - 抓取 Facebook 广告库报告

没有公共(public)分隔符的Python字符串拆分

function - 没有函数匹配给定的名称和参数类型

javascript - 如果我将要查找的值设置为变量,为什么它不起作用?

python - 命名空间错误lxml xpath python

python - Sphinx 覆盖生成空的 python.txt 文件

python - Arduino Heroku 请求

c# - C# 中返回类型多于 1 的函数是否可行?

来自 MySQL 查询的 PHP cron 作业

javascript - 此 CodeSchool 示例中如何使用 ".shift()"方法?