我有一个函数
def abc(a,b,c):
#do something
pass
我想用一个列表来代替abc(a,b,c)
,例如:
abc([1,2,3])
我无法更改abc
的定义。你知道吗
用例:
我正在尝试使用ast
库编写自己的eval
在实现ast.Call
时,我希望能够使用多个参数调用我的函数。你知道吗
但是,如果节点是ast.Call
类型,则参数以列表的形式传递。你知道吗
例如:
>> exp = ast.parse('abc(1,2)', mode='eval').body
>> exp
# <_ast.Call at 0x2ab3c5bef7d0>
>> exp.args
#[<_ast.Num at 0x2ab3c5bef850>, <_ast.Num at 0x2ab3c5bef890>]
问题是,当返回给我的参数是一个列表时,我无法理解如何调用名为abc
的函数。你知道吗
我会尝试调用库函数,如min
、max
、len
、str
和我自己的函数,如contains
、get_item
等。我不明白的是,如何将参数列表传递给具有多个参数的函数?你知道吗
通过使用
*
解包列表,可以按如下方式完成此操作相关问题 更多 >
编程相关推荐