从Python中的函数中访问* args

大家好,这可能是非常简单的事情,我忽略了,但有人能指出我的正确方向,如何处理这个问题。

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

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


最佳答案:

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”是最惯用的变量名;如果没有一个对其他人来说显而易见的好理由,我不会使用任何其他变量。