Strings in Python

Een string is een gegevenstype. Een gegevenstype dat bestaat uit een reeks tekens. Deze tekens kunnen cijfers, letters en andere leestekens zijn. Strings worden soms ook wel het tekst-gegevenstype genoemd.

Een string kan zowel door enkele, dubbele en driedubbele aanhalingstekens worden omringd. De enkele en dubbele aanhalingstekens hebben in de output precies hetzelfde resultaat. De driedubbele aanhalingstekens zorgen ervoor dat je de string over meerdere lijnen kunt spreiden zonder het escape-teken voor het creëren van een nieuwe regel \n te hoeven gebruiken. Je kunt een string ook toeschrijven aan een variabele.

variable = "Hallo wereld! 1"
print(variable)

print('Hallo wereld! 2')
print("Hallo wereld! 3")
print('''Hallo
wereld! 4''')
print('Hallo \n wereld! 5')

Wanneer je bovenstaande code uit laat voeren in de editor leidt dit tot onderstaande output. Let op dat bij de ‘Hallo wereld! 5’ de extra spatie voor een verschuiving zorgt op de tweede regel. Houd hier dus rekening mee bij het vormgeven van de strings.

Data toevoegen aan strings

Door gebruik te maken van een formatted string kun je data binnen een string toevoegen. In het programmeren wordt dit ook wel interpolatie genoemd. Een formatted string wordt ook wel een ‘f string’ genoemd. Je kunt door middel van een f string eenvoudig data in een tekst toevoegen. Dit doe je door de variabele of waarde tussen accolades te plaatsen, voorafgegaan door een ‘f’ en een haakje.

Let op dat bij een formatted string de letter f voor de string, buiten de aanhalingstekens, geplaatst wordt. De data die je binnen een string toe wilt voegen plaats je tussen twee accolades, oftewel de {en} tekens.

voornaam = "Dave"
achternaam = "de Jong"
leeftijd = 30

bericht = f"Mijn naam is {voornaam} {achternaam}, en ik ben {leeftijd} jaar oud."
print(bericht)

String manipulatie

Strings zijn ‘immutable’. Dit betekent dat ze, wanneer deze eenmaal zijn gedefinieerd, niet meer kunnen worden gewijzigd. Er zijn methods in Python, zoals replace(), join() en split() die strings kunnen wijzigen. Ze wijzigen de originele string echter niet. Ze maken een kopie van een string die ze aanpassen en teruggeven bij het uitvoeren van het script. Voeg de stukken code uit de voorbeelden vooral toe in je editor of een online compiler om het resultaat te bekijken.

De replace() method

Met de replace method kun je een bepaald woorden in een string vervangen met een ander woord. De replace method syntax kent drie parameters waarvan de derde optioneel is. De syntax is als volgt: string.replace(oldvalue, newvalue, count). De oldvalue parameter is de waarde die door de method vervangen zal worden binnen de string. De newvalue parameter is de vervangende waarde. De derde en optionele parameter is de count parameter, hier in wordt aangegeven hoe vaak oldvalue vervangen moet worden door nieuw value binnen een bepaalde string.

demotekst = "Dit is een voorbeeld."
output = demotekst.replace("voorbeeld", "tutorial")
print(output)

tekst = '''Ik ben aan het leren.
Ik ben aan het eten.'''
var = tekst.replace("Ik ben", "Jij bent", 1)
print(var)

print("Deze tekst is een demo tekst.".replace("is","was"))

De join() method

Met behulp van de join() method kun je alle items uit een ‘iterable’ object samenvoegen. ‘Iterable’ wil zeggen dat het object waar je doorheen kunt gaan, dit zijn voorbeeld lists, dictionaries, strings, sets of tuples. De syntax voor de join() method is als volgt: string.join(iterable).

namen = ('Marco', 'Anneke', 'Daphne') 
groep = ", ".join(namen)
print(groep)

x = " ".join("Dit werkt ook.")
print(x)

De split() method

Met de split() method verander je een string in een list. Je trekt alle woorden uit de string los en kunt deze vervolgens een voor een aanroepen in de list. De syntax voor deze method is als volgt: string.split(separator, maxsplit)

Je kunt bij de zelf split() definiëren op welk teken string in stukken opgedeeld moet worden. Wanneer je deze parameter leeg laat geldt de standaard verdeler: de spatie. De maxsplit parameter bepaalt hoe vaak de string opgedeeld wordt. De standaard waarde hiervoor is -1, dit wil zeggen dat bij ieder voorkomen van de separator waarde een split uitgevoerd zal worden. Let op dat wanneer je bijvoorbeeld de waarde x meegeeft dat je dan eindigt met x+1.

print("Deze zin wordt een list".split())

print("In deze zin, wordt er iedere keer gesneden, op de comma.".split(", "))

print("In deze zin wordt maar drie keer gesneden.".split(" ", 3))

tekst = "Dit is wat de split method doet."
x = tekst.split()
print(x)

Python Escape-tekens voor strings

Gebruik een escape-teken om tekens in te voegen die niet toegestaan zijn in een tekenreeks. Een escape-teken is een backslash \ gevolgd door het teken dat u wilt invoegen. Een voorbeeld van een ongeldig teken is een dubbel aanhalingsteken in een string die is omgeven door dubbele aanhalingstekens:

print("De man groette de bakker "Goedemorgen!"")
print('Ze zag verderop haar vriend staan, die 'zogenaamd' thuis was. "Hey!" riep hij van een afstand.')

Zie hieronder de negen verschillende escape character die je in strings kunt toepassen om uitzonderingen toe te passen.

CodeResultaatVoorbeeld
\’Enkel aanhalingsteken‘Deze tekst heeft \’aanhalingstekens\’ nodig.’
\\Backslash“Ik wil graag een \\ in mijn tekst gebruiken.”
\nNieuwe regel“Het tweede deel van deze zin.\nMoet op een nieuwe regel”
\rCarriage Return“Mijn muis moet ook naar \rde nieuwe regel.”
\tTab“\t De eerste zin van deze alinea begint na een tab.”
\bBackspace“Ik wil een letter\b verwijderen.”
\fForm Feed“Naar een nieuwe lijn.\f”
\oooOctale waarde“\110\141\154\154\157\041”
\xhhHex waarde“\x48\x61\x6c\x6c\x6f”

Is Python nieuw voor je? Bekijk de tips en tricks op onze wiki pagina of bekijk een van onze tutorials.