Zoeken…


Initialisaties van woordenboeksleutel

Geef de dict.get methode dict.get als u niet zeker weet of de sleutel aanwezig is. Hiermee kunt u een standaardwaarde retourneren als de sleutel niet wordt gevonden. De traditionele methode dict[key] zou een KeyError uitzondering veroorzaken.

In plaats van te doen

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

Doen

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

Schakelvariabelen

Om de waarde van twee variabelen om te schakelen, kunt u tuple uitpakken gebruiken.

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

Gebruik waarheidswaarde testen

Python converteert elk object impliciet naar een Booleaanse waarde voor testen, dus gebruik het waar mogelijk.

# 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

Dit levert over het algemeen meer leesbare code op en is meestal veel veiliger bij het omgaan met onverwachte typen.

Klik hier voor een lijst met wat als False wordt geëvalueerd.

Test op "__main__" om onverwachte uitvoering van code te voorkomen

Het is een goede gewoonte om de variabele __name__ het aanroepende programma te __name__ voordat u uw code uitvoert.

import sys

def main():
    # Your code starts here

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

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

Door dit patroon te gebruiken, zorgt u ervoor dat uw code alleen wordt uitgevoerd als u dit verwacht; wanneer u uw bestand bijvoorbeeld expliciet uitvoert:

python my_program.py

Het voordeel komt echter als u besluit uw bestand in een ander programma te import (bijvoorbeeld als u het schrijft als onderdeel van een bibliotheek). U kunt vervolgens uw bestand import en de __main__ trap zorgt ervoor dat er geen code onverwacht wordt uitgevoerd:

# 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow