10

こんにちは皆さん、これはおそらく私が見落としている非常に単純なものですが、誰かがこの問題を処理する方法について正しい方向に向けることができます.

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

基本的に私がやろうとしているのは、引数を介して渡されたデータを取得することです。を使用するときに関数内の引数を参照するための構文に固執しています*args

4

2 に答える 2

20

args単純なタプルです:

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

そうですか?

「引数」について特別なことは何もないことに注意してください。任意の変数名を使用できます。重要なのは*オペレーターです。

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

それでも、「args」は最も慣用的な変数名です。他の人に明らかな正当な理由がなければ、他のものは使用しません。

于 2011-07-30T12:17:10.357 に答える
5
def nodeFunction(self, arg1, arg2, *args)

*argin argument list の意味: 残りの引数をリストとして variable に渡しますargリストの処理方法を確認してください。注: リスト インデックスは から始まります0

于 2011-07-30T12:19:26.643 に答える