Ga naar hoofdinhoud

Python Cheatsheet

Een snel overzicht van alles wat je geleerd hebt. Hier zie je in één oogopslag alle belangrijke code-snippets die je tot nu toe hebt geleerd.


Basis​

Print​

print("Hallo, wereld!")
print("Naam:", naam)
print(f"Ik ben {leeftijd} jaar oud.")

Variabelen​

naam = "Sara" # str (tekst)
leeftijd = 15 # int (geheel getal)
lengte = 1.75 # float (decimaal)
is_student = True # bool (waar/niet waar)

Rekenen​

5 + 3 # 8 optellen
10 - 4 # 6 aftrekken
3 * 7 # 21 vermenigvuldigen
10 / 3 # 3.33 delen
17 // 5 # 3 hele keren delen
17 % 5 # 2 de rest

Tekst​

Strings​

tekst = "Hallo Wereld"

tekst.upper() # "HALLO WERELD"
tekst.lower() # "hallo wereld"
tekst.replace("Wereld", "Python") # "Hallo Python"
len(tekst) # 12

f-strings​

naam = "Lisa"
leeftijd = 15

print(f"Ik ben {naam}.")
print(f"Volgend jaar ben ik {leeftijd + 1}.")

Booleans en vergelijken​

Vergelijkingsoperatoren​

5 == 5 # True is gelijk aan
5 != 3 # True is niet gelijk aan
3 < 10 # True kleiner dan
3 > 10 # False groter dan
5 <= 5 # True kleiner dan of gelijk aan
3 >= 10 # False groter dan of gelijk aan

Logische operatoren​

True and True # True (beide waar)
True and False # False
True or False # True (minstens één waar)
False or False # False
not True # False (omgedraaid)

If en if/else​

if​

if leeftijd >= 18:
print("Volwassen")

if/else​

if temperatuur >= 20:
print("Warm")
else:
print("Koud")

elif (meerdere takken)​

if score >= 80:
print("Uitstekend")
elif score >= 55:
print("Voldoende")
else:
print("Onvoldoende")

For-loop​

range()​

for i in range(5): # 0, 1, 2, 3, 4
print(i)

for i in range(1, 6): # 1, 2, 3, 4, 5
print(i)

for i in range(0, 10, 2): # 0, 2, 4, 6, 8
print(i)

Een ronde overslaan​

for i in range(6):
if i == 3:
continue # sla deze ronde over, loop draait door
print(i) # print 0, 1, 2, 4, 5

Teller bijhouden​

som = 0
for i in range(1, 11):
som += i # som = som + i
print(som) # 55

While-loop​

While True​

while True:
print("Dit stopt nooit!")

While met voorwaarde​

teller = 0

while teller < 5:
print(teller)
teller += 1 # Vergeet dit niet!

If in een while-loop​

getal = 1

while getal <= 5:
if getal < 3:
print(f"{getal} is laag")
else:
print(f"{getal} is hoog")
getal += 1

Functies​

Functie zonder parameters​

def zeg_hallo():
print("Hallo!")

zeg_hallo()

Functie met parameters​

def begroet(naam):
print(f"Hallo, {naam}!")

begroet("Sara")

Return​

def optellen(a, b):
return a + b

resultaat = optellen(3, 5) # 8
def met_print(x):
print(x * 2) # toont op scherm

def met_return(x):
return x * 2 # geeft waarde terug

a = met_print(5) # toont 10, a wordt None
b = met_return(5) # toont niets, b wordt 10

Een functie zonder return geeft automatisch None terug.


Modules​

Een module importeren​

import time
time.sleep(2) # met de modulenaam ervoor

from time import sleep
sleep(2) # zonder de modulenaam

Je eigen module​

# rekenen.py
def verdubbel(getal):
return getal * 2

if __name__ == "__main__":
print(verdubbel(4)) # draait alleen als je rekenen.py zelf start
# main.py, in dezelfde map
import rekenen
print(rekenen.verdubbel(10)) # 20

Lijsten​

Lijst maken en opvragen​

namen = ["Ali", "Sara", "Daan"]

print(namen[0]) # "Ali"
print(namen[-1]) # "Daan"
print(len(namen)) # 3

Toevoegen en verwijderen​

namen = ["Ali", "Sara"]

namen.append("Daan") # Toevoegen aan einde
namen.insert(0, "Lisa") # Toevoegen op positie 0
namen.remove("Ali") # Verwijderen op naam
namen.pop() # Laatste verwijderen en teruggeven

Door een lijst loopen​

namen = ["Ali", "Sara", "Daan"]

for naam in namen:
print(naam)

Handige functies​

getallen = [3, 1, 4, 1, 5]

len(getallen) # 5
min(getallen) # 1
max(getallen) # 5
sum(getallen) # 14
sorted(getallen) # [1, 1, 3, 4, 5]

Dictionaries​

Dictionary maken en opvragen​

leerling = {
"naam": "Sara",
"leeftijd": 15
}

print(leerling["naam"]) # "Sara"
leerling["klas"] = "3B" # Toevoegen
leerling["leeftijd"] = 16 # Veranderen

Door een dictionary lopen​

for sleutel, waarde in leerling.items():
print(f"{sleutel}: {waarde}")

Checken of een sleutel bestaat​

if "naam" in leerling:
print(leerling["naam"])
else:
print("Geen naam bekend.")

Een niet-bestaande sleutel opvragen geeft een KeyError.

Geneste dictionary​

klas = {
"Sara": {"leeftijd": 15, "cijfer": 8.1},
"Alex": {"leeftijd": 16, "cijfer": 6.9},
}

print(klas["Sara"]["cijfer"]) # 8.1
klas["Alex"]["cijfer"] = 7.2 # Veranderen

Tuples​

Tuple maken en uitpakken​

punt = (3, 5)
x, y = punt # unpacking: x wordt 3, y wordt 5

Twee waardes returnen en de swap​

def kleinste_en_grootste(lijst):
return min(lijst), max(lijst)

klein, groot = kleinste_en_grootste([5, 2, 8])

a, b = b, a # twee variabelen wisselen in één regel

Een tuple kun je na het maken niet veranderen (geen append, geen toewijzen).


Sets​

Set maken​

kleuren = {"rood", "groen", "blauw"}
uniek = set(["a", "b", "a"]) # {'a', 'b'} — dubbelen verdwijnen
leeg = set() # let op: {} is een lege dictionary

Toevoegen, checken, verwijderen​

bezocht = set()
bezocht.add("A") # toevoegen (dubbel toevoegen doet niets)
print("A" in bezocht) # True
bezocht.remove("A") # verwijderen

Een set heeft geen volgorde: bezocht[0] bestaat niet.


Bestanden​

Tekst schrijven, toevoegen en lezen​

with open("taken.txt", "w") as bestand: # "w": opnieuw beginnen
bestand.write("huiswerk\n")

with open("taken.txt", "a") as bestand: # "a": achteraan toevoegen
bestand.write("afwassen\n")

with open("taken.txt") as bestand: # lezen
for regel in bestand:
print(regel.strip()) # strip() haalt de enter weg

Een regel opsplitsen​

regel = "Sara;120"
naam, punten = regel.split(";") # 'Sara' en '120', allebei tekst
punten = int(punten)

Opslaan en inlezen als JSON​

import json

klas = {"Sara": {"cijfer": 8.1}}

with open("klas.json", "w") as bestand:
json.dump(klas, bestand, indent=2)

with open("klas.json") as bestand:
klas = json.load(bestand)

Klassen​

Klasse maken met attributen​

class Hond:
def __init__(self, naam, leeftijd):
self.naam = naam
self.leeftijd = leeftijd

rex = Hond("Rex", 3)
print(rex.naam) # Rex

Methoden en __str__​

class Hond:
def __init__(self, naam):
self.naam = naam

def blaf(self):
print(f"{self.naam}: Woef!")

def __str__(self):
return f"Hond {self.naam}"

rex = Hond("Rex")
rex.blaf() # Rex: Woef!
print(rex) # Hond Rex

Fouten afvangen​

Try en except​

tekst = "twaalf"
try:
getal = int(tekst)
except ValueError:
print("Dat is geen getal.")

Meer fouten, en de melding bewaren​

try:
uitkomst = int("12") / 0
except ValueError:
print("Geen getal.")
except ZeroDivisionError as fout:
print(f"Mis: {fout}") # Mis: division by zero

Zelf een fout opwerpen​

def zet_leeftijd(leeftijd):
if leeftijd < 0:
raise ValueError("Een leeftijd kan niet negatief zijn.")
return leeftijd

Veelvoorkomende fouten​

SyntaxError # haakje vergeten / = i.p.v. ==
IndentationError # inspringen vergeten
NameError # variabele bestaat niet
TypeError # type klopt niet (str + int)
ZeroDivisionError # delen door 0
IndexError: list index ... # lijst-positie bestaat niet
KeyError # dictionary-sleutel bestaat niet
ValueError: ... not in list # .remove() op iets dat niet bestaat
AttributeError # object heeft dat attribuut of die methode niet