0

何度も同じことを繰り返して申し訳ありませんが、すでに検索しましたが、まだ問題を解決できません...

単一の「int」値を変更したい場合、リストを作成する必要がありますか? それは混乱です。Cではかなり快適です...(void関数(int a、b、c、* d、* e、* f)のように)

これは私がやろうとしていることです (「d」、「e」、「f」を変更する必要があります):

d = 4
e = 9
f = 11
def function(a,b,c,d,e,f)
   a = something
   b = something
   c = 1
   d = 2
   e = 3
   f = 4

そうは言っても、単純な数値を処理するために辞書やリストを作成する必要がありますか? 私はまだ初心者ですが、最近頭を悩ませているこの問題の最善の解決策を知りたいです。

君たちありがとう。

4

2 に答える 2

5

はい。Python は単純にタプルを返すことができるため、それを使用して複数の値を変更します。

d = 4
e = 9
f = 11
def function(a,b,c)
   a = something
   b = something
   c = 1
   d = 2
   e = 3
   f = 4
   return (d, e, f)

d, e, f = function(d, e, f)

参照渡しは主に (少なくとも C では) 関数から複数の値を返すことができないという事実を回避するために使用されるため、Python では参照渡しは必要ありません。

于 2012-12-16T17:41:44.167 に答える
2

オブジェクトをパラメーターとして渡すことに関して知っておくべきことを説明するSOに関する質問 (および回答)があります。

コードに関しては、常にこれらの値を a で返しtuple、グローバル名前空間の thos オブジェクトの参照に割り当てることができますreturn (d, e, f)。それらをオブジェクトの参照に割り当てるには、シーケンスアンパックを使用できます。d, e, f = function(params)

于 2012-12-16T17:41:31.070 に答える