Werken met tekst
Een kijkje onder de motorkap: strings zijn objecten
Je weet al dat len() een string kan meten. Nu geven we een precieze naam aan wat we meten en bekijken we waarom strings eigen, handige tekstbewerkingen hebben.
Een waarde is een object met een type
In Python is elke waarde een object. De string "Hello" is een object en het gehele getal 42 is een ander object.
Elk object heeft een type. Een type vertelt Python wat voor waarde het heeft en welke bewerkingen daarbij passen. Met de vertrouwde functie type() kun je dat bekijken:
Python toont <class 'str'> voor de string en <class 'int'> voor het gehele getal. Lees de nuttige delen als ‘stringtype’ en ‘type geheel getal’. Je hoeft in deze cursus geen eigen typen te maken. Voor nu is het genoeg om te weten dat verschillende soorten objecten verschillende bewerkingen kunnen bieden.
Een object biedt methoden
Een methode is een functie die een object aanbiedt. Stringobjecten bieden methoden om met tekst te werken. Dit is er één:
De aanroep message.upper() heeft drie belangrijke onderdelen:
messageverwijst naar het stringobject;de punt vraagt om een bewerking die dat object aanbiedt;
upper()roept die methode aan.
De aanroep geeft de nieuwe string "HELLO" terug, die de toewijzing opslaat in loud_message. Zo doet een kleine punt nuttig werk, zonder toverstaf.
Vergelijk de vertrouwde functievorm met de methodevorm:
len(message) # Pass the object to a built-in function
message.upper() # Call a method provided by the object
Het zijn allebei aanroepen, dus ze gebruiken allebei haakjes. De punt vertelt dat upper() afkomstig is van het stringobject.
Sta even stil bij het verband: message verwijst naar een stringobject, het type str biedt .upper() en de methodeaanroep geeft een nieuwe string terug.
Het diagram volgt die aanroep van de oorspronkelijke variabele naar de teruggegeven waarde en de variabele die haar ontvangt. De Engelse labels betekenen variabele, stringobject, methode en teruggegeven string:

Wat betekent de punt in message.upper()?
Het idee om te onthouden
Als je straks name.strip(), name.lower() en name.replace() tegenkomt, lees ze dan met hetzelfde model: een naam verwijst naar een stringobject, de punt selecteert een methode en de haakjes roepen die aan.
Dat is voorlopig genoeg woordenschat over objecten. In de volgende lessen richten we ons op wat je met de tekst wilt doen.