2016-07-13 8 views
-3

私はPythonスクリプトで多くの機能を持っている場合、それらのすべての関数に同じ変数名を使用できますか? 「はい」の場合は効率的ですか?そしてどうやって? または 異なる機能に異なる名前を使用する方が良いですか? 例:私はこれを見つけることができるPython 3.5で一時変数を管理する方法は?

def func1(): 
    tmp = 1 
    ........ 



def func2(): 
    tmp = 2 
    ........ 

def funcn(): 
    tmp = something 
    ............ 

唯一の問題は、それがデバッグ中混乱得ることができます。

+0

すべての関数には独自のスコープがあります。そのため、ある関数で宣言された変数は、他のメソッドでは表示されず、その関数のスコープを使い果たした後はフリーになります。 – ZdaR

答えて

2

各機能は新しいスコープを作成します。 globalまたはnonlocalを使用していないため、tmpのいずれも相互に影響しないため、別の機能でその名前を何度も何度も使用し続けるのはsafeです。

これで、tmpのような名前はあまり説明的ではありません。あなたの将来の自己は、(一時変数の場合でも)よりわかりやすい名前を使用し始めると、あなた自身のアイスクリームを購入することになります。

0

「はい」です。この場合、tmpは関数スコープに対してローカルです。すべての関数に同じ変数名を使用できますが、同じメモリ位置に値を格納するわけではありません。したがって、ストレージの複雑さが効率的であるとは言えません。実行時間を考慮すると、変数名には依存しません。それはアルゴリズムと入力数に依存します。

各機能には意味のある変数名を使用する方がよいでしょう。プログラムをデバッグするときにコードを簡単に識別できるためです。

関連する問題