Globale Variable in einer Zeile in Python überschreiben?

8

Ich weiß, dass ich schreiben kann:

%Vor%

Aber brauche ich wirklich zwei Zeilen Code? Python, leider, erlaubt mir nicht zu sagen

%Vor%

Ich könnte auch die zwei Zeilen zusammen mit dem leider wiederholten

zusammenstellen %Vor%

Irgendwelche anderen Abkürzungen? Ich bin auf Python 2.6.5, aber ich würde neugierig auf Antworten für Python 3 auch sein.

    
Trevor Burnham 21.06.2010, 23:34
quelle

5 Antworten

13

Du könntest meine Lieblingsalternative zu global verwenden (ein ziemlich eigenwilliger Geschmack ...):

%Vor%

Sobald Sie die thismodule Referenz erstellt haben, müssen Sie global in diesem Modul nicht mehr verwenden, da Sie immer mit qualifizierten Namen arbeiten und nicht bare Namen (eine viel bessere Idee IMHO ... aber vielleicht nur in MHO, konnte ich Guido nicht überzeugen, thismodule [[oder eine andere Kennung mit dieser Funktionalität]] zurück zu liefern, als Python 3 war Gestaging).

Beachten Sie, dass die erste Zuweisung zu foo auf globaler Ebene entweder mit dieser expliziten Syntax erfolgen kann, oder , indem Sie barename foo zuweisen, wie Sie es in Ihrem Code tun (ich denke es ist nicht verwunderlich, dass meine Vorliebe auf die explizite Form geht, obwohl in diesem Fall nur knapp).

    
Alex Martelli 22.06.2010, 00:00
quelle
6

Es sind zwei Aussagen, es gibt keine anderen Formen.

    
Ian Bicking 21.06.2010 23:37
quelle
3

Sie könnten es so schreiben mit dem globals() Wörterbuch:

%Vor%

aber ich würde einfach bei den 2 Zeilen bleiben oder die Trennung mit einem ; -Ansatz.

    
mikej 21.06.2010 23:39
quelle
2
%Vor%     
John La Rooy 22.06.2010 00:40
quelle
1

Wenn es Ihnen besser geht, alles auf eine Zeile zu setzen ...

%Vor%     
Evan Plaice 21.06.2010 23:48
quelle

Tags und Links