开发者

accessing *args from within a function in Python

Hi everyone this is probably something extremely simple that i'm overlooking but can someone point me in the right direction for how to handle this problem.

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

Basically what I am trying to do is grab the data passed in through the arguments. I am just stuck on the syntax for referencing the arguments inside the function when using *开发者_高级运维args.


args is simply a tuple:

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

Is that what you mean?

Note that there's nothing special about "args". You could use any variable name. It's the * operator that counts.

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

Still, "args" is the most idiomatic variable name; I wouldn't use anything else without a good reason that would be obvious to others.


def nodeFunction(self, arg1, arg2, *args)

*arg in argument list means: pass the remaning arguments as a list in variable arg. So check how to handle lists. Note: list index starts from 0.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜