Ga naar hoofdinhoud

4b String-methoden

Met een f-string zet je variabelen in een tekst. Je kunt die tekst ook veranderen: in hoofdletters zetten, een woord vervangen, of het aantal letters tellen.

Methoden aanroepen met een punt​

Een methode is een functie die bij een waarde hoort. Je roept hem aan met een punt achter de variabele:

tekst = "hallo wereld"

print(tekst.upper()) # HALLO WERELD
print(tekst.lower()) # hallo wereld
print(tekst.capitalize()) # Hallo wereld
print(tekst.replace("wereld", "python")) # hallo python

Voor de lengte van een string is er len(). Die werkt zonder punt: je zet de string tussen de haakjes.

tekst = "hallo wereld"

print(len(tekst)) # 12 (de spatie telt mee)
tekst = "hallo"
tekst.upper()
print(tekst)
Voorspel
Wat zet dit programma op het scherm?
Kies wat jij denkt. Bij het goede antwoord zie je de uitleg.

Er gaat iets mis​

len met een punt

tekst = "hallo"
print(tekst.len())

Uitvoer:

AttributeError: 'str' object has no attribute 'len'

len() is geen methode van een tekst. Je schrijft hem ervoor, met de tekst tussen de haakjes: len(tekst).

De haakjes vergeten

Schrijf je print(tekst.upper) zonder () erachter, dan krijg je geen foutmelding maar een vreemde regel als <built-in method upper of str object at 0x…>. Python laat dan de methode zelf zien in plaats van hem uit te voeren. Zet de haakjes erachter: tekst.upper().


Opdracht 4b.1: Hoofdletters​

Maak een variabele met het woord "hallo" en print het in hoofdletters.

# Schrijf hier je code
Klik hier voor een tip.

Roep .upper() aan op de variabele.

Klik hier voor de oplossing.
woord = "hallo"

print(woord.upper())
woord = "hallo"

print(woord.upper())

Opdracht 4b.2: Naam-info​

Toon informatie over een naam: in hoofdletters, in kleine letters, en de lengte.

Verwachte uitvoer (bij naam = "alex"):

ALEX
alex
4 letters
# Schrijf hier je code
Klik hier voor een tip.

.upper(), .lower() en len(). Voor de laatste regel gebruik je een f-string: f"{len(naam)} letters".

Klik hier voor de oplossing.
naam = "alex"

print(naam.upper())
print(naam.lower())
print(f"{len(naam)} letters")
naam = "alex"

print(naam.upper())
print(naam.lower())
print(f"{len(naam)} letters")

Opdracht 4b.3: Gepersonaliseerde uitnodiging​

Bouw een uitnodiging die de naam van de gast in hoofdletters weergeeft.

Verwachte uitvoer (bij naam = "alex", evenement = "Eindfeest", datum = "20 juni"):

=== Uitnodiging voor ALEX ===
Je bent uitgenodigd voor: Eindfeest
Datum: 20 juni

We hopen je te zien!
# Schrijf hier je code
Klik hier voor een tip.

Voor de naam: {naam.upper()} binnen de f-string. Voor de andere variabelen {evenement} en {datum}.

Klik hier voor de oplossing.
naam = "alex"
evenement = "Eindfeest"
datum = "20 juni"

print(f"=== Uitnodiging voor {naam.upper()} ===")
print(f"Je bent uitgenodigd voor: {evenement}")
print(f"Datum: {datum}")
print()
print("We hopen je te zien!")
naam = "alex"
evenement = "Eindfeest"
datum = "20 juni"

print(f"=== Uitnodiging voor {naam.upper()} ===")
print(f"Je bent uitgenodigd voor: {evenement}")
print(f"Datum: {datum}")
print()
print("We hopen je te zien!")