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)
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!")