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()


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow