Programmeren in Python/Variabelen en gegevens: verschil tussen versies

Uit Wikibooks
Verwijderde inhoud Toegevoegde inhoud
DimiC88 (overleg | bijdragen)
kGeen bewerkingssamenvatting
DimiC88 (overleg | bijdragen)
kGeen bewerkingssamenvatting
Regel 142: Regel 142:
Hallo, ik ben 31.
Hallo, ik ben 31.
</pre>
</pre>

== Naamgeving ==

Je bent vrij te kiezen welke naam je geeft aan een variabele, maar je moet wel een aantal regels volgen:
* Je mag letters, getallen en underscores(_) gebruiken in de naam voor je variabelen.
* De variabele naam mag echter niet beginnen met een getal, dus ''9number'' mag niet maar wel ''number9''.
* Speciale tekens zoals @ en spaties kunnen ook niet worden gebruikt.
* Python heeft ook een aantal gereserveerde woorden niet mogen worden gebruikt als variabelnaam.

Daarnaast geeft Python nog een paar richtlijnen:
* De namen worden geschreven in lowercase met underscores tussen worden. Dus bijvoorbeeld ''variable_name'' en dus '''niet''' ''VariableName''.
* Geef liefst engelstalige namen aan je variabelen. Je moet er altijd vanuit gaan dat je code kan worden gelezen door iemand die geen nederlands spreekt. Gebruik dus enkel nederlandstalige namen voor je variabelen als je absoluut zeker bent dat niemand anders de code gaat lezen.
* Gebruik namen die de variabelen goed omschrijven. Gebruik nooit de letters 'O'(hoofdletter o), 'l'(kleineletter l) of 'I'(hoofletter i) aangezien ze soms kunnen worden verward met 1(één) of 0(nul).

Ze zijn niet verplicht, dus als je de regels niet volgt zal het script nog steeds werken. Het kan wel zijn dat je IDE een waarschuwing geeft.


== Datatypes ==
== Datatypes ==
Regel 179: Regel 194:
| <code>memoryview</code> || Binair ||
| <code>memoryview</code> || Binair ||
|}
|}

== Type Hinting ==


== Referenties ==
== Referenties ==


Zoals eerder vermeld, verwijs of refereert een variabele naar een plaats in het geheugen van de computer. Om te weten naar welke plaats in het geheugen wordt verwezen kun je de ingebouwde functie <code>id()</code> gebruiken. Bijvoorbeeld als volgt:
Zoals eerder vermeld, verwijst of refereert een variabele naar een plaats in het geheugen van de computer. Om te weten naar welke plaats in het geheugen wordt verwezen kun je de ingebouwde functie <code>id()</code> gebruiken. Bijvoorbeeld als volgt:


{{Code
{{Code

Versie van 3 aug 2020 12:17

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

Wat is een variabele?

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

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

Een variabele gebruiken

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 van gegevens

Een variabele kan ook gegevens bevatten die van buiten het programma komen. Eén van de manieren om gegevens 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 jou, de gebruiker van het programma. Telkens als je het programma uitvoert kun je 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. Bovenstaand 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 zie je wel dat wanneer je 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:" .

Getallen

Je 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

Je kunt tekst en getallen combineren en samen gebruiken, maar niet zomaar. In volgend voorbeeld zullen we een getal samenvoegen 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 je 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.

Naamgeving

Je bent vrij te kiezen welke naam je geeft aan een variabele, maar je moet wel een aantal regels volgen:

  • Je mag letters, getallen en underscores(_) gebruiken in de naam voor je variabelen.
  • De variabele naam mag echter niet beginnen met een getal, dus 9number mag niet maar wel number9.
  • Speciale tekens zoals @ en spaties kunnen ook niet worden gebruikt.
  • Python heeft ook een aantal gereserveerde woorden niet mogen worden gebruikt als variabelnaam.

Daarnaast geeft Python nog een paar richtlijnen:

  • De namen worden geschreven in lowercase met underscores tussen worden. Dus bijvoorbeeld variable_name en dus niet VariableName.
  • Geef liefst engelstalige namen aan je variabelen. Je moet er altijd vanuit gaan dat je code kan worden gelezen door iemand die geen nederlands spreekt. Gebruik dus enkel nederlandstalige namen voor je variabelen als je absoluut zeker bent dat niemand anders de code gaat lezen.
  • Gebruik namen die de variabelen goed omschrijven. Gebruik nooit de letters 'O'(hoofdletter o), 'l'(kleineletter l) of 'I'(hoofletter i) aangezien ze soms kunnen worden verward met 1(één) of 0(nul).

Ze zijn niet verplicht, dus als je de regels niet volgt zal het script nog steeds werken. Het kan wel zijn dat je IDE een waarschuwing geeft.

Datatypes

Tot nu toe hebben we twee soorten gegevens gezien, tekst en getallen. Het datatype voor tekst noemt in Python str ofwel string. Voor getallen zijn er drie types, namelijk int(integer), float en complex. Hieronder is een lijst van alle ingebouwde datatypes. Er wordt in de volgende hoofdstukken dieper op ingegaan wat die datatypes zijn en hoe ze te gebruiken.

Datatype Soort Uitleg
str(string) Tekst
int Numeriek
float Numeriek
complex Numeriek
list Reeks
tuple Reeks
range Reeks
dict(dictionary) Mapping
set Set
frozenset Set
bool Boolean
bytes Binair
bytearray Binair
memoryview Binair

Type Hinting

Referenties

Zoals eerder vermeld, verwijst of refereert een variabele naar een plaats in het geheugen van de computer. Om te weten naar welke plaats in het geheugen wordt verwezen kun je de ingebouwde functie id() gebruiken. Bijvoorbeeld als volgt:

Python-code: Getallen

a = 5

print(id(a))

output:

140709229395136

Dit stukje code heeft een variabele a met als waarde 5, als de we de ingebouwde functie id() gebruiken en het resultaat afprinten met print() kregen we hier als resultaat 140709229395136. De referentie kan verschillen van computer tot computer(dus hou er rekening mee dat deze code een andere output heeft op jouw computer), maar kan ook veranderen telkens keer je het stukje code draait. Er zijn echter ook uitzonderingen. Neem nu volgende stukje code die we twee keer zullen draaien.

Python-code: Getallen

a = 5
b = 1000
c = "Hallo"

print(id(a))
print(id(b))
print(id(c))

eerste ouput:

140709229395136
1920163824560
1920158780784

tweede ouput:

140709229395136
3006775411632
3006775226544

Zoals je kunt zien heeft de variabele a twee keer dezelfde referentie, maar variabele b en c verschillende. Dit komt omdat Python voor sommige waardes standaard een plaats reserveert en altijd dezelfde plaats gebruikt. Terwijl andere variabelen telkens een andere plaats kunnen krijgen. Maar Python gaat hier nog een stapje verder in met hoe het omgaat met het geheugen van de computer. Als Python merkt dat twee variabelen dezelfde waardes bevat kan het zijn dat, hoewel die variabelen apart gedeclareerd zijn en apart waardes hebben gekregen, ze toch naar dezelfde plaats in het geheugen verwijzen. Bijvoorbeeld:

Python-code: Getallen

a = 1000
b = 1000
c = "Hallo"
d = "Hallo"

print(id(a))
print(id(b))
print(id(c))
print(id(d))

output:

1896769635248
1896769635248
1896769450160
1896769450160

Zoals je kunt zien hebben variabelen a en b dezelfde refertie net zoals c en d.

Nieuwe functies

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