繁体   English   中英

将** kwargs传递给带有args的函数。 最佳做法?

Passing **kwargs to a function with args. Best practices?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

假设我有一个需要很多位置参数的函数,例如:

def foo(a, b, c, d, e):
  ...

最好通过传入解构的字典来调用它,如下所示:

args = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
foo(**args)

调用这样的参数时,有什么需要注意的吗?

首先想到的是,如果函数的参数名称更改,它将中断,但是在函数中接受**kwargs并使用kwargs['a']kwargs['b']访问它们似乎并不更糟kwargs['b']等。

还有什么我想念的吗?

问题暂未有回复.您可以查看右边的相关问题.
1 传递未知的args和kwargs在python中运行

我有一个对象,它接受一个函数名func,args和kwargs,并在某些时候运行 问题是,如果func不需要args / kwargs,则args / kwargs默认为None,这会导致TypeError。 例如,如果函数不需要参数,则args,kwargs默认为None: ...

2013-07-26 15:07:50 2 1796   python
3 使用不同的参数打开led功能。 蟒蛇

我似乎无法全神贯注于如何执行此操作。 我尝试搜索,但它只返回如何打开带有树莓派的led的方法。 所以我在这里。 我试图做一个函数,以便我可以检查多个值,如果它们匹配,请打开led。 我想我的主要问题是,何时确实打开了led,但是如果下一个功能共享相同的led,则会将其关闭。 如果这样的 ...

4 功能不承认args和kwargs

我试图定义一个这样的函数: 我希望elengths和einds是固定的位置args(这些只是int的数组)。 我试图通过传递一个可变长度的数组列表作为* args和一些** kwargs来使用该函数,在这个例子中是两个(avg和tot),但可能更多,例如, 哪里 我的k ...

7 从字典将* args和** kwargs传递给asyncio定期包装器函数

我正在使用asyncio从字典中收集任务并执行它们,但是我很难使其按预期工作。 (这是我在此处提出的问题的后续问题,但是我重新编写了一下代码,因为它没有按预期工作,并决定最好使用包装器函数。) 因此,我使用包装器来调用指定的任务函数。 我希望包装程序将任何* args或** kwarg ...

9 在派生类中传递* args / ** kwargs

我需要了解以下行为 当我尝试创建派生的实例并调用其基类中定义的方法时,就会引发这种情况。 然后我创建了一个B类型的实例,然后我调用了该栏。 我觉得这里出了很多问题,我需要一些启发我,因为在线阅读文档和其他资源,我感到更加困惑。 ...

10 在可变参数参数上使用声明。 如何选择正确的功能?

我有一个基于策略的设计,其中我在某些策略中定义了一些函数foo()在其他策略中没有。 基类总是从一个叫做AlwaysBase类继承,它有一个劣等的foo()函数。 我想这样做,如果存在“更好的” foo() (来自 Policy 类的一个),则将始终选择一个。 这是一些代码: 我明白这里发生 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM