相关疑难解决方法(0)

使用参数将函数传递给Python中的另一个函数?

是否可以将带有参数的函数传递给Python中的另一个函数?

比如说:

def perform(function):
    return function()
Run Code Online (Sandbox Code Playgroud)

但要传递的函数将具有如下参数:

action1()
action2(p)
action3(p,r)
Run Code Online (Sandbox Code Playgroud)

python function

188
推荐指数
6
解决办法
20万
查看次数

你能列出一个函数收到的关键字参数吗?

我有一个字典,我需要传递键/值作为关键字参数..例如..

d_args = {'kw1': 'value1', 'kw2': 'value2'}
example(**d_args)
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,但是如果d_args dict中的值没有被example函数接受,它显然会死掉..比如说,如果示例函数定义为def example(kw2):

这是一个问题,因为我不控制生成d_argsexample函数..它们都来自外部模块,example只接受来自dict的一些关键字参数.

理想情况下我会这样做

parsed_kwargs = feedparser.parse(the_url)
valid_kwargs = get_valid_kwargs(parsed_kwargs, valid_for = PyRSS2Gen.RSS2)
PyRSS2Gen.RSS2(**valid_kwargs)
Run Code Online (Sandbox Code Playgroud)

我可能只是从有效的关键字参数列表中过滤掉dict,但我想知道:有没有办法以编程方式列出特定函数所需的关键字参数?

python arguments introspection

98
推荐指数
4
解决办法
5万
查看次数

获取传递给函数的参数的列表/元组/字典?

鉴于以下功能:

def foo(a, b, c):
    pass
Run Code Online (Sandbox Code Playgroud)

如何获得传入的参数的list/tuple/dict/etc,而不必自己构建结构

具体来说,我正在寻找Python的JavaScript arguments关键字版本或PHP的func_get_args()方法.

想要的是使用*args或的解决方案**kwargs; 我需要在函数定义中指定参数名称(以确保它们被传入),但在函数中我希望在list-或dict-style结构中使用它们.

python arguments function

62
推荐指数
4
解决办法
3万
查看次数

标签 统计

python ×3

arguments ×2

function ×2

introspection ×1