Szukaj…


Inicjalizacje kluczy słownikowych

dict.get metodę dict.get , jeśli nie masz pewności, czy klucz jest obecny. Pozwala zwrócić wartość domyślną, jeśli klucz nie zostanie znaleziony. Tradycyjna metoda dict[key] spowodowałaby wyjątek KeyError .

Zamiast robić

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

Robić

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

Przełączanie zmiennych

Aby zmienić wartość dwóch zmiennych, możesz użyć rozpakowywania krotek.

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

Użyj testu wartości prawdy

Python niejawnie przekonwertuje dowolny obiekt na wartość logiczną do testowania, więc używaj go tam, gdzie to możliwe.

# 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

Generuje to generalnie bardziej czytelny kod i jest zwykle znacznie bezpieczniejsze w przypadku nieoczekiwanych typów.

Kliknij tutaj, aby wyświetlić listę rzeczy, które zostaną ocenione jako False .

Przetestuj dla „__main__”, aby uniknąć nieoczekiwanego wykonania kodu

Dobrą praktyką jest przetestowanie zmiennej __name__ programu wywołującego przed wykonaniem kodu.

import sys

def main():
    # Your code starts here

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

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

Użycie tego wzorca gwarantuje, że kod zostanie wykonany tylko wtedy, gdy się tego spodziewasz; na przykład po jawnym uruchomieniu pliku:

python my_program.py

Korzyścią jest jednak, jeśli zdecydujesz się import plik do innego programu (na przykład, jeśli piszesz go jako część biblioteki). Następnie możesz import plik, a pułapka __main__ zapewni, że żaden kod nie zostanie wykonany nieoczekiwanie:

# 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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow