Als developer die JavaScript en PHP kent en overstapt naar Python, wil ik weten hoe Python omgaat met blokken, types en namen, zodat ik mijn programmeerkennis kan gebruiken zonder vast te lopen op foutmeldingen die ik niet ken.
Je typt je vertrouwde accolades en puntkomma's. Python weigert. In JavaScript en PHP houd je code bij
elkaar met {}.
Python doet dat met spaties. Dat is even wennen, maar je code wordt er leesbaarder van.
| In JavaScript / PHP | In Python |
|---|---|
Blok tussen { en } | Blok door in te springen |
Regel eindigt op ; | Regel eindigt gewoon |
let, var, const, $ | Alleen de naam |
Typ je een dubbele punt (:)? Dan moeten de regels eronder naar rechts. Dat heet
indentatie. Je gebruikt daarvoor altijd 4 spaties.
temperature = 50
if temperature < 70:
print("Temperature OK") # 4 spaties: hoort bij de if
print("Fan speed normal") # ook bij de if
print("Done") # geen spaties: staat weer los
Spring je niet meer in? Dan is het blok klaar. De regel met print("Done") draait dus
altijd. Ook als de temperatuur te hoog is.
IndentationError.
Python is streng op spaties. Probeer het hieronder zelf. De ... betekent dat je in een blok
zit. Typ de spaties echt met je spatiebalk.
print("OK") — begin met 4 spaties. Druk op Enter. print("OK") — nu met 2 spaties. Kijk wat er gebeurt.print("OK") — nu zonder spaties.Hieronder staat code die niet werkt. De vorige programmeur snapte de spaties niet. Kopieer de code naar een nieuw Python-script en maak hem werkend.
De bedoeling: de teksten over de controle, het inlezen en het wegschrijven komen alleen op het
scherm als de invoer klopt. De tekst Done komt er altijd bij te staan.
is_valid = True
if is_valid == True:
print("Input check passed")
print("Reading file")
print("Writing to database")
else:
print("Invalid input")
print("Done")
Acceptatiecriteria
IndentationError of SyntaxError.Done altijd verschijnt. Zet is_valid een keer op
True en een keer op False.