Naar de inhoud
Inloggen

Wat is een string?

Een string is een stuk tekst: een naam, een bericht, een woord. In Python zet je hem tussen aanhalingstekens: "raket". Voor de computer is het een rij letters, en met die rij kun je van alles.

Een rij letters

Net als een lijst heeft een string vakjes met een nummer vanaf 0: "raket"[0] is "r". Je kunt er met for letter in tekst: doorheen lopen, en met len(tekst) vraag je hoe lang hij is. Met + plak je strings aan elkaar: "hallo" + "!" wordt "hallo!". Let op het verschil tussen 3 (een getal) en "3" (een tekst met één teken); optellen doet iets anders.

Handige dingen die in een string zitten

tekst.upper() maakt alles hoofdletters, tekst.lower() kleine letters. tekst.split() knipt een zin in woorden en geeft een lijst. tekst[::-1] geeft de tekst achterstevoren. En letter in "aeiou" vraagt of een letter een klinker is. In de missie "Berichten" van ruimtevaart komen deze allemaal langs.

Letters als getallen

Achter elke letter zit een nummer: ord("a") is 97, chr(98) is "b". Daarmee kun je letters verschuiven: chr(ord("a") + 1) is "b". Zo werkt de geheime code in level 9: elke letter een paar plaatsen opschuiven, en na de z met % 26 weer bij de a beginnen. Dat is een echte versleuteling die Julius Caesar al gebruikte.

Veelgemaakte fouten

Aanhalingstekens vergeten (Python denkt dan dat het een variabele is), een string proberen te veranderen (strings zijn onveranderbaar: je maakt een nieuwe), en een getal en een tekst bij elkaar optellen. Ook hier helpen de tests: een lege string "" is een randgeval dat elke functie moet aankunnen. Zie ook lijst en functie.

Veelgestelde vragen

Enkele of dubbele aanhalingstekens?

Allebei mag in Python, als je maar hetzelfde teken gebruikt om te openen en te sluiten. Progio gebruikt dubbele.

Kan ik een letter in een string veranderen?

Niet direct. Je bouwt een nieuwe string op, bijvoorbeeld door letters één voor één aan een lege string te plakken.