将参数传递给嵌套函数

罗恩·特恩(Ron Trunk)

我有一个通过命令行参数设置的标志。该标志由嵌套了许多层的函数使用。将标志(或任何其他变量)传递给深度嵌套函数的pythonic方法是什么?像我在下面所做的那样,将其添加到每个参数列表中感觉不对。

def func3(flag var3, var4):
...
# flag is used only here
 if flag;
   do something
 else:
 do something else

def func2(flag, var1, var2):
 ...
 x=func3(flag, c, d)

def func1(flag, var1, var2)
 ...
 y = func2(flag, a, b)


def def main():
...
parser.add_agrument('-f', '--flag', action='store_true' default=false)
...
result = func1(flag, foo, bar)
傻瓜

如果您不想像其他人已经建议的那样使用Class,并且需要一个简单的变通办法而不会使您更改代码,请在所有CAPS中的该模块中使用全局变量

另外,在我看来,这就像我们如何使用环境变量。单个变量,可以自我解释,很少被任何人错误地更改。


def func3(var3, var4):
...
# flag is used only here
 if SOME_DISTINCT_FLAG;
   do something
 else:
 do something else

def func2(var1, var2):
 ...
 x=func3(c, d)

def func1(var1, var2):
 ...
 y = func2(a, b)


def def main():
...
parser.add_argument('-f', '--flag', action='store_true' default=false)
...
# this lets you access global variables
# without it, the variable will be of local scope
global SOME_DISTINCT_FLAG
SOME_DISTINCT_FLAG = flag
result = func1(foo, bar)

另外,您可能在顶部定义它只是为了清楚它是什么,并设置默认值。没有松动的末端。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将参数传递给嵌套函数

来自分类Dev

jQuery将函数参数传递给嵌套函数

来自分类Dev

将任意参数传递给R中的多个嵌套函数

来自分类Dev

将任意参数传递给R中的多个嵌套函数

来自分类Dev

将参数传递给 Swift 中的嵌套函数

来自分类Dev

如何避免将大量参数传递给嵌套函数?

来自分类Dev

将“ *&”参数传递给函数

来自分类Dev

将参数传递给函数

来自分类Dev

将参数传递给函数

来自分类Dev

将函数作为参数传递给函数

来自分类Dev

将函数和参数传递给函数

来自分类Dev

将函数作为参数传递给函数

来自分类Dev

将变量传递给嵌套函数调用

来自分类Dev

将数组传递给函数参数并从嵌套数组获取值

来自分类Dev

R:将参数传递给函数并使用Apply而不是嵌套循环,并且递归索引失败

来自分类Dev

如何将嵌套的结构数组作为参数传递给函数?

来自分类Dev

js将附加参数传递给函数

来自分类Dev

将参数传递给函数闭包

来自分类Dev

将独立参数传递给.mouseover函数

来自分类Dev

如何自动将参数传递给函数?

来自分类Dev

将参数传递给函数指针

来自分类Dev

将“类型”参数传递给函数

来自分类Dev

将db变量传递给函数参数

来自分类Dev

将参数传递给可调用函数

来自分类Dev

将矩阵作为参数传递给函数

来自分类Dev

将参数传递给模块的匿名函数

来自分类Dev

将函数传递给elisp中的参数

来自分类Dev

将参数传递给dplyr函数

来自分类Dev

将null传递给函数的强制参数