在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
,只是因为这是该方法的第一个参数——没有magicthis
。属性的setter将其设置为参数的值引用——没有magicvalue
。如果要在模块foo
中使用函数,必须导入ortfoo
,以便口译员知道它是什么。等等)