2016-07-13 10 views
-3

Wenn ich viele Funktionen im Python-Skript habe, kann ich den gleichen Variablennamen für all diese Funktionen verwenden? Wenn ja, ist es effizient? und wie? oder ist es besser, verschiedene Namen für verschiedene Funktionen zu verwenden? Ex:Wie verwalten temporäre Variablen in Python 3.5?

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



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

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

Nur Problem, das ich mit diesem finden konnten, es kann während des Debuggens verwirrend.

+0

Jede Funktion hat ihren eigenen Gültigkeitsbereich, daher wäre eine Variable, die in einer Funktion deklariert ist, für keine anderen Methoden sichtbar und wäre frei, nachdem Sie den Gültigkeitsbereich dieser Funktion verlassen haben – ZdaR

Antwort

2

Jede Funktion erstellt einen neuen Bereich. Da Sie nicht global oder nonlocal verwenden, wird keiner der tmp sich in irgendeiner Weise beeinflussen, so ist es sicher, diesen Namen immer wieder in verschiedenen Funktionen zu verwenden. Die Namen wie tmp sind nicht sehr beschreibend. Dein zukünftiges Selbst möchte dein gegenwärtiges Selbst etwas Eiscreme kaufen, wenn du verwendest, beschreibende Namen zu verwenden (sogar für temporäre Variablen).

0

Antwort ist "JA". In diesem Fall ist tmp lokal für den Funktionsumfang. Sie können also den gleichen Variablennamen für alle Funktionen verwenden. Aber das bedeutet nicht, dass Werte an derselben Speicherstelle gespeichert werden. Wir können also nicht sagen, dass die Speicherkomplexität effizient ist. Und wenn wir die Laufzeit betrachten, kommt es nicht auf Variablennamen an. Es hängt vom Algorithmus und der Anzahl der Eingänge ab.

Es ist besser, für jede Funktion einen aussagekräftigen Variablennamen zu verwenden. Wenn Sie ein Programm debuggen, können Sie den Code leicht identifizieren.