Python Language
Redewendungen
Suche…
Wörterbuch-Schlüsselinitialisierungen
dict.get
Methode dict.get
, wenn Sie nicht sicher sind, ob der Schlüssel vorhanden ist. Sie können einen Standardwert zurückgeben, wenn der Schlüssel nicht gefunden wird. Die traditionelle Methode dict[key]
würde eine KeyError
Ausnahme KeyError
.
Anstatt zu tun
def add_student():
try:
students['count'] += 1
except KeyError:
students['count'] = 1
Tun
def add_student():
students['count'] = students.get('count', 0) + 1
Variablen wechseln
Um den Wert von zwei Variablen umzuschalten, können Sie das Tupel-Auspacken verwenden.
x = True
y = False
x, y = y, x
x
# False
y
# True
Verwenden Sie die Wahrheitswertprüfung
Python konvertiert jedes Objekt implizit zu Testzwecken in einen booleschen Wert. Verwenden Sie es daher nach Möglichkeit.
# Good examples, using implicit truth testing
if attr:
# do something
if not attr:
# do something
# Bad examples, using specific types
if attr == 1:
# do something
if attr == True:
# do something
if attr != '':
# do something
# If you are looking to specifically check for None, use 'is' or 'is not'
if attr is None:
# do something
Dies führt im Allgemeinen zu besser lesbarem Code und ist im Umgang mit unerwarteten Typen in der Regel viel sicherer.
Klicken Sie hier, um eine Liste der False
Werte False
.
Testen Sie "__main__", um unerwartete Codeausführung zu vermeiden
Es __name__
Variable __name__
des aufrufenden Programms zu __name__
, bevor Sie den Code ausführen.
import sys
def main():
# Your code starts here
# Don't forget to provide a return code
return 0
if __name__ == "__main__":
sys.exit(main())
Durch die Verwendung dieses Musters wird sichergestellt, dass Ihr Code nur dann ausgeführt wird, wenn Sie dies erwarten. Wenn Sie beispielsweise Ihre Datei explizit ausführen:
python my_program.py
Der Vorteil besteht jedoch, wenn Sie sich dafür entscheiden, Ihre Datei in ein anderes Programm zu import
(z. B. wenn Sie sie als Teil einer Bibliothek schreiben). Sie können dann Ihre Datei import
, und der __main__
Trap stellt sicher, dass kein Code unerwartet ausgeführt wird:
# A new program file
import my_program # main() is not run
# But you can run main() explicitly if you really want it to run:
my_program.main()