Programmeren in Python/Gebruik van variabelen en strings

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

In dit hoofdstuk wordt er bersproken wat variabelen zijn en welk soort gegevens of data ze kunnen bevatten.

Wat is een variabele?[bewerken]

Een variabele is een verwijzing naar een plaats in het geheugen van de computer waar u data hebt opgeslagen. Met die data kunt u allerlei dingen doen. U kunt de data gebruiken en hergebruiken voor bijvoorbeeld bewerkingen te doen, zoals wiskundige berekening. U kunt de data ook aanpassen, vervangen en verwijderen.

Variabalen kunnen verwijzen naar allerlei soorten data, van simpele tekst en getallen, tot complexe data met allerlei eigenschappen. Om te kunnen werken met variabelen geven we het een naam, als we dan iets willen doen met de data waarnaar de variabele verwijst roepen we gewoon zijn naam op.

Een variabele gebruiken[bewerken]

We bekijken een eerste voorbeeld van een programma dat een variabele gebruikt. In volgend voorbeeld maken we een variabele aan genaamd name en zetten we er wat gegevens in.

Python-code: Variabele

name = 'Ada Lovelace'
print("Tot ziens, " + name + '!')

Output:

Tot ziens, Ada Lovelace!

Waarom staan er apostroffen (') rond Ada's naam, en aanhalingstekens (") rond "Tot ziens"? Beide tekens worden gebruikt om een tekenreeks af te bakenen. Die tekenreeks wordt hier in de variabele met de naam name gestopt. In Python mogen we zowel ' als " gebruiken om tekenreeksen af te bakenen, maar u mag ze niet zomaar combineren. Wat bijvoorbeeld verboden is, is een tekenreeks zoals deze: 'Begint met apostrof en eindigt met aanhalingsteken". Bovendien zien we hier ook hoe Python toelaat om twee tekenreeksen aan elkaar vast te hangen: gebruik gewoon een plusteken om de stukken samen te voegen.

Invoer[bewerken]

Een variabele kan ook informatie bevatten die van buiten het programma komen. Eén van de manieren om informatie van buiten het programma te krijgen is via het toetsenbord, daarvoor kun je de functie input() gebruiken.

Python-code: input()

print("Voer uw naam in alstublieft:")
name = input()
print("Hallo " + name + "!")

Output:

Voer uw naam in alstublieft:
Jan
Hallo Jan!

input() is net zoals print() een ingebouwde functie. Het vraagt naar invoer via het toestenbord van u, de gebruiker van het programma. Telkens als u het programma uitvoert kunt u een andere naam invoeren. Die naam komt in de variabele met de naam name terecht en kan verderop in het programma gebruikt worden, bijvoorbeeld om een welkomstbericht op het scherm af te beelden. Bovenstaande stukje code kan nog iets better worden geschreven. Net zoals bij print(), kun je bij input() een argument meegeven.

Python-code: input()

name = input("Voer uw naam in alstublieft: ")
print("Hallo " + name + "!")

Output:

Voer uw naam in alstublieft: Jan
Hallo Jan!

Nu ziet u wel dat wanneer u tekst invoert dat het rechtstreeks achter "Voer uw naam in alstublieft:" komt in tegenstelling tot print(). Dit komt omdat als u print() gebruikt er na de tekst automatisch een nieuwe lijn wordt begonnen. Bij input() gebeurt dit ook, maar pas nadat u tekst hebt ingevoerd, daardoor komt de invoer op dezelfde lijn als "Voer uw naam in alstublieft:" .

Tekst[bewerken]

Tabs[bewerken]

Python-code: Tabs

print("Geen tabs.")
print("\téén tab")
print("\t\ttwee tabs")
print("\t\t\tdrie tabs")

Output:

Geen tabs.
        één tab
                twee tabs
                        drie tabs

Python-code: Tabs

first_name = input("Geef je voornaam\t:")
last_name = input("Geef je achternaam\t:")

Output:

Geef je voornaam        :Geert
Geef je achternaam      :Jansen

Getallen[bewerken]

U kunt ook getallen in variabelen stoppen.

Python-code: Getallen

x = 9
y = 5.2

print(x)
print(y)

Output:

9
5.2

Tekst en getallen[bewerken]

U kunt tekst en getallen combineren en samen gebruiken, maar nie zomaar. In volgend voorbeeld zullen we een getal samen voegen aan tekst.

Python-code: Getallen

age = 31

print("Hallo, ik ben " + age + ".")

Output:

Traceback (most recent call last):
  File "klad.py", line 3, in <module>
    print("Hallo, ik ben " + age  + ".")
TypeError: can only concatenate str (not "int") to str

We krijgen een error of een fout, meer bepaald een TypeError. Wanneer u tekst wilt combineren met een getal, wordt er eigenlijk meer tekst verwacht. Om dit te verhelpen kunnen we een functie gebruiken, namelijk de functie str(). Met de functie str() kunnen we getallen laten omzetten in tekst. Deze functie heeft een parameter waar je een variable kunt meegeven als argument aan de functie, de functie zet het om in tekst en geeft het terug zodat je het kunt gebruiken in je programma. Je gebruikt het bijvoorbeeld als volgt.

Python-code: Getallen

age = 31

print("Hallo, ik ben " + str(age) + ".")

Output:

Hallo, ik ben 31.

Datatypes[bewerken]

Tot nu toe hebben we twee soorten data gezien, tekst en getallen.

Datatype Soort Uitleg
str
int
float
complex
list
tuple
range
dict
set
frozenset
bool
bytes
bytearray
memoryview

Mutable en immutable datatypes[bewerken]

Referenties[bewerken]

Nieuwe functies[bewerken]

  • input()
Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.