从Python中的函数中访问* args

时间:2011-07-30 12:14:29

标签: python function arguments args

大家好,这可能是我非常简单的事情,但有人可以指出我正确的方向来解决这个问题。

def nodeFunction(self,*args):
    return self[1] + self[2]    

基本上我要做的是抓住通过参数传入的数据。我只是坚持使用*args时引用函数内部参数的语法。

2 个答案:

答案 0 :(得分:11)

args只是一个列表:

def nodeMethod(self, *args):
    return args[0], args[1]

这是你的意思吗?

请注意,“args”并没有什么特别之处。您可以使用任何变量名称。重要的是*运算符。

>>> class Node(object):
...     def nodeMethod(self, *cornucopia):
...         return cornucopia[0], cornucopia[1]
... 
>>> n = Node()
>>> n.nodeMethod(1, 2, 3)
(1, 2)

仍然,“args”是最惯用的变量名称;如果没有其他明显的理由,我就不会使用其他任何东西。

答案 1 :(得分:4)

def nodeFunction(self, arg1, arg2, *args)
参数列表中的

*arg表示:将其余参数作为变量arg中的列表传递。因此,请检查如何处理list。注意:列表索引从0开始。