Zien met print, uitleggen met opmerkingen
Hoe print meerdere dingen tegelijk afdrukt, hoe sep en end dat veranderen, en waarom opmerkingen bestaan — je eerste hulpmiddel om binnenin een draaiend programma te kijken.
Hoe wil je leren?
Het probleem dat we oplossen
Je hebt een programma geschreven. Je hebt het gedraaid. De terminal zei niets.
Heeft het gewerkt? Is het halverwege gestopt? Hoe is de berekening binnenin uitgekomen? Dat kom je niet te weten, want een computer vertelt niets uit zichzelf — alles wat je wilt zien, moet je erom vragen.
print is de manier waarop je dat vraagt. In het begin is het je enige venster: waar het programma is gebleven, wat een variabele bevat, wat de berekening heeft opgeleverd. Ook ervaren ontwikkelaars voegen vele keren per dag print-aanroepen toe aan hun code, zelfs als ze een debugger bij de hand hebben — daar is niets mis mee, het hoort bij het werk.
Aan het einde van dit hoofdstuk kun je
- Verschillende dingen in één
print-aanroep afdrukken en de ruimte ertussen regelen - De uitvoer vormgeven met
sepenend - Het verschil zien tussen strings (tekst) en getallen — waarom
"2" + "3"niet hetzelfde is als2 + 3 - Opmerkingen schrijven en bepalen welke opmerkingen echt de moeite waard zijn
Voorkennis: De terminal, mappen en je eerste project.
print accepteert meer dan één ding
Scheid zo veel waarden als je wilt met komma's, en print schrijft ze allemaal op één regel:
print("Order", 7, "confirmed")Order 7 confirmedMerk op dat je nooit een spatie hebt getypt, maar dat er toch spaties tussen staan. print plaatst automatisch één spatie tussen elke waarde die gescheiden is door een komma.
En aan het einde van elke print gaat het naar een nieuwe regel:
print("line one")
print("line two")line one
line twoEen lege print() produceert gewoon een lege regel — de eenvoudigste manier om lange uitvoer op te splitsen in leesbare groepen.
sep — de ruimte naar eigen wens
Als die spatie niet is wat je wilt, kun je hem veranderen:
print("2026", "09", "10", sep="-")
print("home", "user", "notes.txt", sep="/")
print("a", "b", "c", sep="")2026-09-10
home/user/notes.txt
abcend — wat er aan het einde van de regel gebeurt
Standaard eindigt print de regel en gaat naar beneden. Dat kun je ook aanpassen:
print("Loading", end="")
print(".", end="")
print(".", end="")
print(". done")Loading... doneVier afzonderlijke print-aanroepen, één regel uitvoer — omdat de eerste drie te horen kregen dat ze niets aan het einde van de regel moesten toevoegen.
Strings en getallen zijn niet hetzelfde
Deze twee regels lijken bijna identiek, maar gedragen zich anders:
print(2 + 3)
print("2" + "3")5
23Tussen aanhalingstekens is het een string (tekst), en + telt niet op — het plakt ze aan elkaar. Zonder aanhalingstekens is het een getal, en + telt echt op.
Dit verschil is de basis voor de volgende hoofdstukken, en het is ook de oorzaak van ongeveer de helft van de fouten die beginners maken. Onthoud voor nu gewoon deze regel: aanhalingstekens betekenen een string.
Opmerkingen — regels die Python nooit leest
Van een # tot het einde van die regel negeert Python alles:
# Friday delivery report
total = 12 + 8
print("Total:", total) # the sum shown at the bottom of the reportTotal: 20Opmerkingen hebben geen effect op hoe het programma draait. Ze zijn voor mensen — voor je collega, en voor jezelf over drie maanden, tegen die tijd ben je dit allang vergeten.
*Een goede opmerking zegt waarom, niet wat.* Wat de code doet, zie je al in de code:
# Weak: repeats what the code already says
count = count + 1 # add 1 to count
# Useful: gives the reason, which the code cannot show
count = count + 1 # the header row was counted too, so shift by oneVan de eerste leer je niets — die regel telt er gewoon één bij op. De tweede zegt waarom er één wordt opgeteld, iets dat je nooit uit de code alleen zou kunnen afleiden.
Tijdens het leren hebben opmerkingen nog een ander gebruik — je kunt een regel tijdelijk uitschakelen om te zien hoe het programma zich gedraagt zonder die regel:
print("first")
# print("second")
print("third")first
thirdEen compleet voorbeeld
Maak report.py aan en draai het:
# A small sales report
print("=" * 24)
print("SALES REPORT")
print("=" * 24)
print("Items sold:", 3 + 5 + 2)
print("Revenue:", 3 * 120 + 5 * 90 + 2 * 250)
print()
print("Prepared by", "Rafi", sep=": ")========================
SALES REPORT
========================
Items sold: 10
Revenue: 1310
Prepared by: RafiMerk de lege regel op na Revenue: 1310 in de uitvoer — die komt van de lege print(). Hij scheidt het laatste deel van het rapport.
Kijk ook naar "=" * 24. Door een string met een getal te vermenigvuldigen, laat je Python hem dat aantal keer herhalen, zodat je niet vierentwintig gelijktekens met de hand hoeft te typen om een lijn te trekken.
Wanneer het misgaat
SyntaxError: unterminated string literal Er is een aanhalingsteken geopend, maar nooit gesloten. print("Hello) veroorzaakt dit. Tel het aantal openings- en sluitingsaanhalingstekens.
Je hebt een aanhalingsteken nodig binnen de string Gebruik het ene soort buiten en het andere binnen: print("It's working") of print('She said "yes"').
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)? print "Hello" geeft dit. Dat is Python 2-syntax. In Python 3 is print een functie, dus heeft het haakjes nodig: print("Hello"). Deze fout komt meestal uit een oude tutorial of antwoord.
sep of end krijgt een waarde zonder aanhalingstekens print("a", "b", sep=-) geeft SyntaxError: invalid syntax. sep en end moeten altijd een string zijn: sep="-".
In welke taal moeten opmerkingen zijn? Python accepteert opmerkingen in elke taal — alles na # wordt niet gelezen. Maar in code die je met anderen deelt of op het werk gebruikt, schrijf je opmerkingen in het Engels. Dat is praktisch: niet iedereen in het team waar je code terechtkomt, leest jouw taal, en de foutmeldingen, documentatie en antwoorden die je online vindt, zijn allemaal in het Engels. Daarom is alle code in deze cursus — opmerkingen, variabelnamen, bestandsnamen — in het Engels, en alleen de uitleg is in jouw taal.
Stap 4 van 6 — Voorspellen
Test je begrip
Wat verschijnt er precies in de terminal wanneer deze drie regels worden uitgevoerd?
print("a", "b", "c", sep="-")
print("x", end=" ")
print("y")- Aa-b-c x y
- Ba-b-c x y
- Cabc x y
- Da-b-c x y
Beide regels gebruiken +. Wat is de uitvoer?
print(2 + 3)
print("2" + "3")- A5, dan een fout — `+` kan niet worden gebruikt met strings
- B5 5
- C5 23
- D23 23
Wat drukt dit programma af en waarom?
price = 250
# price = 400
print("Price:", price)- A`Price: 400` — de latere waarde wint
- BEen fout — dezelfde variabele kan niet twee keer worden toegewezen
- C`Price: 250` — de tweede regel is een opmerking, dus Python leest hem nooit
- D`Price: 250` en dan `Price: 400` — beide regels worden uitgevoerd
Voor antwoorden heb je een account nodig
Log in om je antwoorden te controleren
De vragen staan hierboven, en ze in je hoofd uitwerken is waar het om draait. Log in om de antwoorden, de uitleg en de hints in drie niveaus te zien.
Jouw beurt
Schrijf een bestand genaamd profile.py dat exact deze uitvoer produceert:
------------------------
NAME : Rafi
ROLE : Python learner
------------------------
Age next year: 23Drie voorwaarden:
- De bovenste en onderste lijn moeten worden geproduceerd met vermenigvuldiging, niet door vierentwintig streepjes met de hand te typen
- De regels
NAME : RafienROLE : Python learnermoetensepgebruiken - Op de regel
Age next yearmag je het getal niet zelf typen — bereken het met optellen, bijvoorbeeld22 + 1
Voeg ook op de eerste regel van het bestand een opmerking toe die zegt waarom het bestand bestaat — niet wat het doet.
Deze missie heeft nog meer
Wat je hierboven las is de volledige missie — er is niets uit weggelaten. Pro voegt toe:
- Wat er echt onder de motorkap gebeurt: hoe Python dit uitvoert
- De volledige oplossing van de oefening, stap voor stap uitgewerkt
- Moeilijkere extra oefeningen
- De sollicitatievraag over dit onderwerp, met een modelantwoord
Stap 6 van 6
Uitdaging — de hoofdstukquiz
Tien vragen van makkelijk naar moeilijk. De laatste zijn met opzet lastig.
Log in om de quiz te maken