accessing *args from within a function in Python
Solution 1
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.
Solution 2
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
.

SacredGeometry
Muti-disciplined autodidactic creative generalist.
Updated on June 11, 2022Comments
-
SacredGeometry 12 months
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
. -
SacredGeometry almost 12 yearsBloody hell, I am such an idiot, sorry im still getting the hang of python. Thats exactly what I was looking for thank you. Ill accept the answer when I can.