在Python中从函数中访问*args

在Python中从函数中访问*args,python,function,arguments,args,Python,Function,Arguments,Args,大家好,这可能是一件非常简单的事情,我忽略了,但有人能告诉我如何处理这个问题的正确方向吗 def nodeFunction(self,*args): return self[1] + self[2] 基本上,我要做的是获取通过参数传入的数据。在使用*argsargs时,我只是停留在函数中引用参数的语法上,args只是一个元组: def nodeMethod(self, *args): return args[0], args[1] 这就是你的意思吗 请注意,“args

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

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

基本上,我要做的是获取通过参数传入的数据。在使用
*args

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

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

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

开始的,该死的,我真是个白痴,对不起,我仍然掌握着python的窍门。这正是我想要的谢谢你。Python中一条简洁的经验法则是名字必须来自某个地方;它们不会被语言神奇地插入。(实例方法将实例称为
self
,只是因为这是该方法的第一个参数——没有magic
this
。属性的setter将其设置为参数的值引用——没有magic
value
。如果要在模块
foo
中使用函数,必须导入ort
foo
,以便口译员知道它是什么。等等)