大家好这可能是一个非常简单的事情,我忽略了,但是有人可以指出我如何处理这个问题的正确方向。从Python中的函数中访问* args
def nodeFunction(self,*args):
return self[1] + self[2]
基本上我想要做的就是抓取通过参数传入的数据。当我使用*args
时,我只是停留在函数内引用参数的语法上。
大家好这可能是一个非常简单的事情,我忽略了,但是有人可以指出我如何处理这个问题的正确方向。从Python中的函数中访问* args
def nodeFunction(self,*args):
return self[1] + self[2]
基本上我想要做的就是抓取通过参数传入的数据。当我使用*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”是最常用的变量名称;没有一个好的理由,我不会使用其他任何东西,这对其他人来说是显而易见的
血腥的地狱,我是一个白痴,对不起仍然得到蟒蛇的窍门。那就是我正在寻找的谢谢。我可以接受答案。 – SacredGeometry
def nodeFunction(self, arg1, arg2, *args)
*arg
在参数列表是指:通过其剩余参数作为变量arg
列表。因此请检查如何处理list。注意:列表索引从0
开始。
Python中整齐的经验法则是名称必须来自某个地方;他们不会被语言魔法插入。 (一个实例方法只将实例称为self,因为它是该方法的第一个参数 - 没有什么神奇的'this'。属性的setter指的是它被设置为参数的值 - 没有如果你想在一个模块'foo'中使用一个函数,你必须导入'foo',这样解释器就知道它是什么了等等) – katrielalex