Vanaf deze les, hebben voorbeelden en programma-invoervensters extra knoppen: Open in the console en Visualiseer. Gebruik ze om het programma te verbeteren en te onderzoeken.
In het Hello, World!-programma zagen we dat Python in staat is om een tekenreeks (een stuk tekst) voor ons te herhalen. We hebben ook meerdere rekenvoorbeelden met getallen gezien. Getallen en tekenreeksen zijn fundamenteel verschillende soorten waarden, en wanneer je ze op de verkeerde manier in Python door elkaar gebruikt kan dat een foutmelding tot gevolg hebben:
Zoals je kunt zien, krijgen we een foutmelding waarin wordt aangegeven dat de twee argumenten van max van verschillende types zijn. De foutmelding is een goede inleiding tot de rest van de les:
is een tekenreeks (Eng.: string), die door Python als"Hello, World!"strwordt aangemerkt. Een tekenreeks is een willekeurige rij van letters, cijfers, spaties, en leestekens; we zullen er meer over leren in les 7A.35is een geheel getal (Eng.: integer). Gehele getallen worden door Python alsintaangemerkt.
Een waarde van de verkeerde soort willen gebruiken is een veel voorkomende oorzaak van een fout in een computerprogramma. Het is als het drinken van een boterham: dat kan niet want je kunt alleen maar vloeibare dingen drinken, en een boterham is niet vloeibaar maar vast.
Je kunt het type van een waarde achterhalen door de functie type aan te roepen:
(Alle Python-types zijn ook klassen (Eng.: classes).) Bovenstaand voorbeeld laat zien dat er twee verschillende types van getallen zijn in Python: het type int van gehele getallen en het type float van vlottende-kommagetallen (Eng.: floating-point numbers). Het type float laat toe te rekenen met kommagetallen in Python. (Merk op dat kommagetallen in Python genoteerd worden met een punt in plaats van een komma.) Let wel: niet alle kommagetallen kunnen exact voorgesteld worden als een float-waarde. Bij berekeningen met float-waarden zullen er dan ook doorgaans afrondingen optreden; meer hierover in les 7B.
Je kunt float-waarden mixen met int-waarden; het resultaat is een float.
Wat Python in feite doet wanneer je een float met een int mixt is dat het de int omzet naar een float en dan verder gaat met twee floats.
1.2 veranderen in 1.5 in bovenstaand programma, wat is dan de eerste regel in de uitvoer?z als 3.0 wordt afgedrukt.
- Wanneer we
x * yberekenen dan mixen we eeninten eenfloat, maar Python behandelt die als tweefloats, waardoorzeenfloatwordt. - Om duidelijk te maken dat het om een
floatgaat, drukt Python de waarde vanzaf als3.0in plaats van3.
y niet veranderd zijn.
Het is vaak noodzakelijk een waarde van het ene type om te zetten in een ander type. Zoals je aardbeien met een blender kunt omzetten van vast naar vloeibaar, kun je ook een waarde van het ene type soms omzetten naar een ander type daarbij gebruik makend van een typeconversiefunctie (Eng.: typecast function). Je schrijft de naam van het gewenste nieuwe type op dezelfde manier als bij de aanroep van een functie, bijvoorbeeld
x = float("3.4")
print(x-1)zet de tekenreeks "3.4" om naar het kommagetal 3,4 en drukt dan af 2.4. Zonder de typecast, zou het programma crashen, omdat het niet mogelijk is een getal van een tekenreeks af te trekken.
![]() | Soms staat Python toe dat je tekenreeksen en getallen combineert waarbij rekenkundige operatoren worden gebruikt. De opdracht drukt hotshots af. Daarbij is het een Python-regel dat wanneer je een tekenreeks s vermenigvuldigt met een geheel getal n dit betekent dat je n kopieën van s na elkaar plaatst. We zullen later zien dat de "optelling van twee tekenreeksen" ook gedefinieerd is in Python. |
Verschillende typeconversies gedragen zich verschillend:
- wanneer een
floatin eenintwordt omgezet dan gaat het gedeelte na de komma verloren, bijvoorbeeldisint(1.234)1, enisint(-34.7)-34. - wanneer een
strin eenintwordt omgezet dan veroorzaakt dat een foutmelding wanneer de tekenreeks niet de precieze vorm heeft van een geheel getal. Bijvoorbeeld:veroorzaakt een foutmelding.int("1.234") - wanneer een
strin eenfloatwordt omgezet dan veroorzaakt dat een foutmelding wanneer de tekenreeks geen getal voorstelt. Bijvoorbeeld:float("boterham")veroorzaakt een foutmelding.
Een typisch gebruik van type-omzetting dat we weldra zullen zien is het omzetten van invoer door de gebruiker, wat altijd een tekenreeks is, in een numerike vorm. Hier volgt een voorbeeld.
Hier volgt nog een voorbeeld om deze les af te sluiten.
![]() | Omdat er nu veel mogelijke editor-opdrachten zijn, zijn sommige verplaatst naar een knop Meer acties... |
Zodra je dit gedaan hebt, kun je doorgaan met de volgende les.




