Gibt es eine Python-Verknüpfung für die Überprüfung und Zuweisung von Variablen?

7

Ich merke, dass ich sehr oft folgendes schreibe (Entwickeln für Django, wenn das relevant ist):

%Vor%

Alternativ und häufiger (d. h. Erstellen einer Parameterliste)

%Vor%

Gibt es eine Abkürzung, die ich einfach nicht kenne, die das vereinfacht? Etwas mit der Art von Logik myVariable = assign_if_exists(testVariable) ?

    
dbr 30.07.2009, 15:23
quelle

2 Antworten

25

Angenommen, Sie möchten myVariable im Fall "nicht vorhanden" auf dem vorherigen Wert belassen,

%Vor%

befasst sich mit dem ersten Fall und

%Vor%

befasst sich mit dem zweiten. Keiner hat jedoch viel mit "existieren" zu tun (was kaum ein Python-Konzept ist ;-); das erste ist über wahr oder falsch, das zweite über das Vorhandensein oder Fehlen eines Schlüssels in einer Sammlung.

    
Alex Martelli 30.07.2009, 15:28
quelle
7

Die erste Instanz wird merkwürdig angegeben ... Warum setzt man einen Booleschen Wert auf einen anderen booleschen Wert?

Was Sie vielleicht meinen, ist, myVariable auf testVariable zu setzen, wenn testVariable keine Zeichenfolge mit der Länge null ist oder nicht, oder nicht, was zufälligerweise zu False ausgewertet wird.

Wenn ja, bevorzuge ich die expliziten Formulierungen

%Vor%

Wenn Sie in ein Wörterbuch indizieren, verwenden Sie einfach get .

%Vor%     
S.Lott 30.07.2009 15:27
quelle

Tags und Links