10

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

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

基本上我想做的是获取通过参数传入的数据。我只是停留在使用*args.

4

2 回答 2

20

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”是最惯用的变量名。如果没有其他人显而易见的充分理由,我不会使用其他任何东西。

于 2011-07-30T12:17:10.357 回答
5
def nodeFunction(self, arg1, arg2, *args)

*arg在参数列表中意味着:将剩余参数作为列表传递给变量arg。所以检查如何处理list。注意:列表索引从0.

于 2011-07-30T12:19:26.643 回答