2017-01-06 8 views
0

パラメータをグローバル変数に変換しようとすると、次のエラーが発生します。インポートされたパラメータを2つの異なる名前を使用せずにグローバルに変換できる方法はありますか? 編集:解決(グリッド)は別のモジュールによって呼び出されます。関数が呼び出された後にパラメータがグローバルになるようにしたい。関数パラメータをグローバル変数に変換する

>>> grid = [] 
>>> def solve(grid) 
...  global grid 
... 

出力:

File "<stdin>", line 1 
SyntaxError: name 'grid' is local and global 
+2

いいえ、それはまったく意味がありません。そして、なぜあなたはこれをしたいのですか? –

+0

いいえ、グローバル変数は使用しないでください。 – Daniel

+2

グローバル 'grid'変数とパラメータ' grid'が常に同じ場合。そうすれば 'def solve()'と書くことができます。 –

答えて

0

あなたがグローバルとして変数を宣言すると、それはとにかく関数の内部でのみ "グローバル" です。ここのグローバルは、他の機能に影響を与えません。値を渡さずにこの関数から呼び出せる他の関数で変数を呼び出し可能にするには、パラレルスレッドを実行している場合はグローバル変数を使用しないでください。

私はあなたが何をしようとしているのか正確には分かりませんが、クラスを使用して、ゲッターとセッターの代わりに変数を使用することをお勧めします。あなたはそれについてもっと知ることができます:What's the pythonic way to use getters and setters?

希望は正しい方向に向けることができます。グローバルスコープを使用するよりも、変数のスコープを扱う他の多くの優れた方法があります。それから始めよう。

関連する問題