Ricerca…


Inizializzazione chiavi del dizionario

Preferisci il metodo dict.get se non sei sicuro che la chiave sia presente. Ti consente di restituire un valore predefinito se la chiave non viene trovata. Il metodo tradizionale dict[key] solleva un'eccezione KeyError .

Piuttosto che farlo

def add_student():
    try:
        students['count'] += 1
    except KeyError:
        students['count'] = 1

Fare

def add_student():
        students['count'] = students.get('count', 0) + 1

Commutazione delle variabili

Per cambiare il valore di due variabili puoi usare tuple unpacking.

x = True 
y = False 
x, y = y, x 
x
# False 
y
# True

Utilizzare il test del valore di verità

Python convertirà implicitamente qualsiasi oggetto in un valore booleano per il test, quindi usalo dove possibile.

# 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

Generalmente questo produce un codice più leggibile e di solito è molto più sicuro quando si tratta di tipi imprevisti.

Fare clic qui per un elenco di ciò che verrà valutato su False .

Prova per "__main__" per evitare l'esecuzione inaspettata del codice

È buona norma testare la variabile __name__ del programma chiamante prima di eseguire il codice.

import sys

def main():
    # Your code starts here

    # Don't forget to provide a return code
    return 0

if __name__ == "__main__":
    sys.exit(main())

L'utilizzo di questo modello garantisce che il codice venga eseguito solo quando ci si aspetta che lo sia; ad esempio, quando esegui il tuo file esplicitamente:

python my_program.py

Il vantaggio, tuttavia, arriva se si decide di import il file in un altro programma (ad esempio se lo si scrive come parte di una libreria). È quindi possibile import il file e il trap __main__ garantirà che nessun codice venga eseguito in modo imprevisto:

# 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow