Strings: werken met tekst
Python telt de letters van "Python" vanaf 0, dus "Python"[5] is de laatste letter, n, en "Python"[6] is een fout.
Een naamkaartje vraagt om tekst die uit delen is opgebouwd
Denk aan naamkaartjes bij een schoolevenement of clubbijeenkomst. Elk kaartje heeft dezelfde indeling en een andere naam, dus een programma kan ze vanuit één patroon afdrukken. Tekst in Python is een string en de snelste manier om die uit delen op te bouwen is een f-string: zet de letter f vóór het openingsaanhalingsteken en variabelenamen tussen accolades. Python vervangt elke {name} door de waarde van die variabele.
name = "Mina"
club = "Robotica"
print(f"Hallo, {name}!")
print(f"{name} werd lid van {club}.")Hallo, Mina!
Mina werd lid van Robotica.Er zijn twee oudere manieren om tekst samen te voegen. De operator + plakt strings achter elkaar en * herhaalt een string. Beide kanten van + moeten strings zijn, dus een getal moet eerst met str() naar tekst worden omgezet. f-strings doen dat automatisch, een reden waarom ze de gebruikelijke keuze zijn.
item = "gimbap"
count = 2
print(item + " x " + str(count))
print("-" * 12)
print(f"{item} x {count}")gimbap x 2
------------
gimbap x 2Elk teken heeft een positienummer, vanaf 0
Een string is een rij tekens en elk teken heeft een index. Het eerste teken heeft index 0, niet 1. Vierkante haken kiezen één teken: word[0] is het eerste. Negatieve indices tellen vanaf het einde, dus word[-1] is altijd het laatste teken, ongeacht de lengte. len() geeft het aantal tekens, inclusief spaties en leestekens.
word = "Python"
print(word[0], word[5], word[-1])
print(len(word))
print(word[0:2], word[2:])P n n
6
Py thonword[0:2] is een slice: vanaf index 0 tot vlak vóór index 2, wat "Py" geeft. Laat het einde weg, zoals word[2:], en de slice loopt tot het einde van de string. De stop-vóór-regel oogt eerst vreemd, maar betekent dat word[0:2] + word[2:] altijd het hele woord teruggeeft.
Stringmethoden geven een nieuwe string terug
Strings hebben ingebouwde hulpmiddelen, methoden genoemd, die je na een punt schrijft. upper() en lower() zetten tekst om naar hoofdletters of kleine letters, replace(old, new) vervangt elk exemplaar van een stuk tekst door een ander stuk en strip() verwijdert spaties aan beide uiteinden, handig bij extra spaties in formulierinvoer. Het sleutelwoord in controleert of een string in een andere voorkomt en geeft True of False. Geen van deze verandert de oorspronkelijke string. Een string kan na het maken niet meer worden veranderd; elke methode geeft een nieuwe terug, die je bewaart door haar aan een naam toe te kennen.
menu = " tteokbokki "
clean = menu.strip()
print(clean.upper())
print(clean.replace("k", "K"))
print("bok" in clean, len(menu), len(clean))TTEOKBOKKI
tteoKboKKi
True 14 10Gebruik de andere soort aanhalingstekens eromheen om een aanhalingsteken in een string te zetten: "Mina's lunch". Een backslash begint een escapereeks: \n in een string betekent ‘begin hier een nieuwe regel’, zodat één print twee regels kan tonen.
print("Het is Mina's lunchtijd.")
print("Regel een\nRegel twee")Het is Mina's lunchtijd.
Regel een
Regel twee| f-string | f"...{name}..." zet waarden in tekst |
| index | Positienummer van een teken, vanaf 0 |
| slice | s[a:b]: vanaf index a tot, maar niet inclusief, b |
| len() | Aantal tekens in een string |
| methode | Een hulpmiddel na een punt, zoals s.upper() |
| \n | Escapereeks voor een nieuwe regel |
| in | "a" in "cat" geeft True |
- Wat drukt deze code af?
word = "banana" print(word[1]) - Wat drukt deze code af?
word = "banana" print(word[-2]) - Wat drukt deze code af?
print(len("Hoi daar!")) - Wat drukt deze code af?
word = "school" print(word[1:4]) - Wat drukt deze code af?
name = "Jun" print(f"Hi {name}, you are {13 + 1}.") - Wat drukt deze code af?
print("ab" * 3) - Wat drukt deze code af?
s = "hallo" s.upper() print(s)HALLOhalloHalloEen fout
- Wat drukt deze code af?
print("rice" in "fried rice") - Wat drukt deze code af?
name = "Mina" print(f"{name}") print("{name}")Mina
MinaMina
{name}{name}
Mina{name}
{name}
- Wat drukt deze code af?
print("Totaal: " + str(3 * 1000))Totaal: 3000Totaal: 3 * 1000Totaal: 31000Een fout
- ‘De eerste letter is word[1].’ Indices beginnen bij 0, dus word[1] is de tweede letter. De laatste geldige index is len(word) - 1; "Python"[6] stopt met IndexError: string index out of range.
- "Age: " + 15 drukt Age: 15 af Een string en een int kun je niet met + samenvoegen. Python stopt met TypeError: can only concatenate str (not "int") to str. Gebruik str(15) of een f-string.
- ‘Ik kan één letter veranderen met word[0] = "J".’ Strings kunnen niet ter plekke veranderen: TypeError: 'str' object does not support item assignment. Bouw in plaats daarvan een nieuwe string, bijvoorbeeld "J" + word[1:].
- f"...{x}..." zet waarden in tekst.
- Indices beginnen bij 0; -1 is het laatste teken.
- s[a:b] loopt vanaf a tot, maar niet inclusief, b.
- Methoden zoals upper() geven een nieuwe string terug; het origineel blijft ongewijzigd.
- "\n" is een regeleinde binnen een string.
Bronnen van deze cursus (6)
- Python Software Foundation, The Python Tutorial for Python 3.12 (docs.python.org/3.12/tutorial: 2 Using the Python Interpreter, 3 An Informal Introduction to Python (numbers, text, lists), 4 More Control Flow Tools (if, for, range, break and continue, defining functions, default argument values, 4.10 coding style: 4-space indentation), 5 Data Structures (list methods, 5.5 dictionaries, insertion order), 8 Errors and Exceptions (syntax errors, exceptions, reading the traceback, handling exceptions), 15 Floating-Point Arithmetic (0.1 + 0.2))
- Built-in Functions (docs.python.org/3.12/library/functions.html: print, input, len, int, float, str, type, round (round half to even: round(0.5) and round(-0.5) are 0, round(1.5) is 2), range, sum, min, max, sorted)
- Built-in Types (str methods upper, lower, replace, strip; dict.get; list.append, pop, remove, sort returning None)
- General Python FAQ (docs.python.org/3.12/faq/general.html: Guido van Rossum began Python in the 1989 Christmas holidays, posted it to USENET in February 1991, named it after Monty Python's Flying Circus)
- Curriculum for the Korean pages: 교육부 고시 제2022-33호 [별책 10] 정보과 교육과정 (PDF read 2026-10-19: 중학교 정보 [9정03-05] 리스트 등 데이터를 순차적으로 저장하는 구조, [9정03-06] 논리 연산과 중첩 제어 구조, [9정03-07] 함수 활용과 디버거로 오류 수정, [9정03-08] 실생활 문제를 프로그래밍으로 해결, 적용 시 고려 사항 「학생의 수준을 고려하여 적합한 프로그래밍 언어를 선정」; 고등학교 정보 [12정03-04] 자료형, [12정03-05] 표준입출력, [12정03-07] 제어 구조)
- Bug story only: Smithsonian National Museum of American History, Log Book With Computer Bug, 1947, Harvard Mark II, "first actual case of bug being found", probably not Hopper's log book (americanhistory.si.edu/collections/object/nmah_334663, read 2026-10-19)
Geraadpleegd: 2026-10-19