Hoofdstuk 1
Van werkende code naar programmaontwerp
Welkom terug en controleer je startniveau
Hoi, ik ben Erik. Ik schrijf en onderhoud deze cursus, samen met de rest van Python Land. Welkom terug.
Je kent al genoeg Python om complete programma’s in één bestand te bouwen. Je kunt waarden opslaan, beslissingen nemen, werk herhalen, gegevens in verzamelingen organiseren, functies schrijven, verwachte fouten afhandelen en resultaten controleren met asserties.
Deze cursus stelt een andere vraag:
Hoe houd je een programma begrijpelijk wanneer het groter wordt dan een paar functies en verzamelingen?
Je leert verschillende manieren om groeiende programma’s te organiseren, een project over modules te verdelen, nuttige fouten te ontwerpen en publiek gedrag te testen. Het doel is niet elk nieuw hulpmiddel overal te gebruiken. Het doel is structuren kiezen die een programma begrijpelijker en makkelijker aanpasbaar maken.
Er is geen prijs voor haast. Ontwerpen is het deel van programmeren waarbij je hetzelfde idee een paar keer moet tegenkomen voordat het blijft hangen. Als een les niet meteen duidelijk is, hoort dat dus bij het leren en betekent het niet dat je achterloopt.
De startcontrole gebruikt bekende hulpmiddelen uit Python-basis I. Onthoud dat print een waarde toont, terwijl return een waarde terugstuurt naar de aanroeper.
Wat op Python Land blijft
Je blijft in de browser werken. Lokaal installeren, terminals, virtuele omgevingen en pakketbeheerders horen bij een latere cursus. Hier blijft je aandacht bij programmeren en ontwerpen.
Dat betekent ook dat de site redelijk goed moet werken op een klein scherm, zoals je mobiele telefoon. Probeer het eens: je kunt een les of twee lezen terwijl je ergens of op iemand wacht. Een eerdere les kort herlezen is goed bestede tijd. De langere bewerkingsoefeningen in deze cursus gaan beter met een echt toetsenbord, dus bewaar die voor wanneer je achter een computer zit.
Een korte startcontrole
Deze vragen peilen de vaardigheden waarop deze cursus voortbouwt. Ze helpen je zien waar je staat; het zijn geen strikvragen of toelatingsexamen.
Wat drukt dit af?
values = [2, 4, 6]
total = 0
for value in values:
total += value
print(total)Hoe verschillen print(result) en return result binnen een functie?
Welke expressie leest het antwoord uit deze dictionary?
question = {
"prompt": "Two plus two?",
"answer": "4",
}
Waarom gebruik je liever een specifieke except ValueError dan een kale except wanneer je invoer omzet met int()?
Als je bij een vraag twijfelde, bekijk dat onderwerp dan opnieuw in Python-basis I of vraag Monty om een korte opfrisser. Je hoeft niet alles perfect te onthouden. Je moet wel genoeg herkennen om het kleine programma in de editor te lezen.
Deze lessen herhalen de vier vaardigheden die hierboven zijn gecontroleerd:
Lees voordat je verandert
De editor bevat een functie die pogingen samenvat. Voer de functie uit en volg de waarden door de lus. Je hoeft niets te wijzigen.
Die gewoonte is belangrijk: grotere programma’s ontwerpen begint met het begrijpen van het programma dat al bestaat.
Opdracht
Voer de samenvatting van pogingen uit en leg elk afgedrukt getal aan jezelf uit.
Gebruik als je beter wilt kijken Step in de oefeneditor en volg hoe total, passed en attempt door de lus heen veranderen.