Hello world
print("Hallo wereld!")Controleer of Python werkt en tekst kan tonen.
Python cursusmateriaal
Een overzichtelijke bibliotheek met korte uitleg, codevoorbeelden en oefenonderwerpen die je direct in VS Code kunt gebruiken.
Start met voorbeeldenDeze pagina bevat extra veel voorbeelden rond onderwerpen die je vaak tegenkomt bij Python Essentials: variabelen, datatypes, beslissingen, loops, functies, lijsten, bestanden, CSV, modules en objectgericht programmeren.
Python Essentials 1
print("Hallo wereld!")Controleer of Python werkt en tekst kan tonen.
naam = "Student"
leeftijd = 17
print(naam, leeftijd)Bewaar informatie onder een duidelijke naam.
waarde = 3.14
print(type(waarde))Bekijk of iets een string, integer, float of boolean is.
voornaam = "Alex"
achternaam = "Jansen"
print(voornaam + " " + achternaam)Plak tekst aan elkaar met de plus-operator.
product = "laptop"
prijs = 799
print(f"De {product} kost €{prijs}")Een nette manier om variabelen in tekst te zetten.
naam = input("Wat is je naam? ")
print("Welkom", naam)Laat de gebruiker zelf iets typen.
leeftijd = int(input("Leeftijd: "))
print(leeftijd + 1)Input is standaard tekst, dus soms moet je converteren.
a = 10
b = 3
print(a + b)
print(a / b)
print(a // b)
print(a % b)Gebruik operators voor optellen, delen, hele deling en rest.
prijs = 19.987
print(round(prijs, 2))Rond kommagetallen netjes af.
ingelogd = True
print(ingelogd)Een boolean is waar of niet waar.
# Dit is uitleg bij de code
print("Code wordt uitgevoerd")Commentaar helpt om je code begrijpelijk te maken.
BTW_PERCENTAGE = 21
bedrag = 100
print(bedrag * BTW_PERCENTAGE / 100)Hoofdletters gebruik je vaak voor vaste waarden.
Python Essentials 1
cijfer = 7
if cijfer >= 5.5:
print("Voldoende")
else:
print("Onvoldoende")Laat Python een keuze maken.
score = 82
if score >= 90:
print("Uitstekend")
elif score >= 70:
print("Goed")
else:
print("Oefenen")Gebruik elif voor meerdere mogelijkheden.
leeftijd = 18
pas = True
if leeftijd >= 18 and pas:
print("Toegang")Beide voorwaarden moeten kloppen.
admin = False
docent = True
if admin or docent:
print("Mag openen")Eén van de voorwaarden moet kloppen.
for nummer in range(1, 6):
print(nummer)Herhaal code een vast aantal keer.
pogingen = 0
while pogingen < 3:
print("Probeer opnieuw")
pogingen += 1Herhaal zolang een voorwaarde waar is.
for getal in range(10):
if getal == 5:
break
print(getal)Stop een loop eerder.
for getal in range(6):
if getal == 3:
continue
print(getal)Sla één ronde over en ga verder.
for rij in range(3):
for kolom in range(3):
print(rij, kolom)Een loop binnen een loop.
vakken = ["Python", "Linux", "Netwerk"]
if "Python" in vakken:
print("Gevonden")Controleer of een waarde in een lijst zit.
keuze = input("1 = start, 2 = stop: ")
if keuze == "1":
print("Starten")
elif keuze == "2":
print("Stoppen")Een eenvoudige basis voor consolemenu's.
wachtwoord = input("Wachtwoord: ")
if len(wachtwoord) >= 8:
print("Sterk genoeg")
else:
print("Te kort")Gebruik voorwaarden om invoer te controleren.
Python Essentials 1
def tel_op(a, b):
return a + b
print(tel_op(4, 6))Maak code herbruikbaar met functies.
def groet(naam="bezoeker"):
print("Hallo", naam)
groet()Gebruik een standaard als er niets wordt meegegeven.
vakken = ["Python", "Web", "Data"]
print(vakken[0])Bewaar meerdere waarden in één variabele.
taken = []
taken.append("opdracht maken")
taken.append("testen")
print(taken)Voeg items toe aan een lijst.
student = {"naam": "Alex", "klas": "ICT"}
print(student["klas"])Bewaar gegevens met duidelijke sleutels.
positie = (52.0, 4.3)
print(positie[0])Een tuple is handig voor vaste waarden.
nummers = {1, 2, 2, 3}
print(nummers)Een set bewaart unieke waarden.
try:
getal = int(input("Getal: "))
print(10 / getal)
except ZeroDivisionError:
print("Niet delen door nul")
except ValueError:
print("Typ een geldig getal")Vang fouten netjes op.
with open("notities.txt", "w") as bestand:
bestand.write("Mijn eerste bestand")Maak een tekstbestand aan.
with open("notities.txt", "r") as bestand:
inhoud = bestand.read()
print(inhoud)Lees tekst uit een bestand.
from pathlib import Path
for bestand in Path(".").iterdir():
print(bestand.name)Werk overzichtelijk met bestanden en mappen.
# bestand: helpers.py
# def dubbel(x): return x * 2
from helpers import dubbel
print(dubbel(5))Verdeel code over meerdere bestanden.
Python Essentials 2
kwadraten = [x * x for x in range(1, 6)]
print(kwadraten)Maak snel een nieuwe lijst.
verdubbel = lambda x: x * 2
print(verdubbel(8))Korte functie voor simpele bewerkingen.
personen = [{"naam": "A", "score": 8}, {"naam": "B", "score": 6}]
personen.sort(key=lambda p: p["score"], reverse=True)
print(personen)Sorteer op een veld in een dictionary.
class Product:
def __init__(self, naam, prijs):
self.naam = naam
self.prijs = prijs
item = Product("muis", 25)
print(item.naam)Maak eigen objecten met eigenschappen.
class Rekening:
def __init__(self):
self.saldo = 0
def stort(self, bedrag):
self.saldo += bedragEen method is een functie binnen een class.
class Dier:
def geluid(self):
print("geluid")
class Hond(Dier):
pass
Hond().geluid()Een class kan gedrag erven van een andere class.
from datetime import datetime
nu = datetime.now()
print(nu.strftime("%d-%m-%Y %H:%M"))Werk met datum en tijd.
import json
with open("config.json") as bestand:
data = json.load(bestand)
print(data)JSON wordt veel gebruikt voor instellingen en API's.
import json
data = {"theme": "dark", "autosave": True}
with open("config.json", "w") as bestand:
json.dump(data, bestand, indent=2)Sla instellingen netjes op.
import requests
response = requests.get("https://example.com")
print(response.status_code)Haal gegevens op van een website of API.
import re
tekst = "Mijn code is AB-123"
match = re.search(r"[A-Z]{2}-\d{3}", tekst)
print(match.group())Zoek patronen in tekst.
python -m venv .venv
.venv\Scripts\activate
pip install flaskHoud packages per project gescheiden.
CSV en data
import csv
with open("data.csv", newline="") as bestand:
reader = csv.reader(bestand)
for rij in reader:
print(rij)Lees elke rij uit een CSV-bestand.
import csv
with open("personen.csv", newline="") as bestand:
reader = csv.DictReader(bestand)
for rij in reader:
print(rij["naam"])Gebruik kolomnamen in plaats van indexen.
import csv
totaal = 0
aantal = 0
with open("cijfers.csv", newline="") as bestand:
reader = csv.DictReader(bestand)
for rij in reader:
totaal += float(rij["cijfer"])
aantal += 1
print(totaal / aantal)Bereken resultaten uit tabeldata.
import csv
with open("output.csv", "w", newline="") as bestand:
writer = csv.writer(bestand)
writer.writerow(["naam", "score"])
writer.writerow(["Student", 8])Maak zelf een CSV-bestand aan.
import csv
with open("leden.csv", newline="") as bestand:
reader = csv.DictReader(bestand)
for rij in reader:
if rij["status"] == "actief":
print(rij)Toon alleen rijen die voldoen aan een voorwaarde.
import csv
with open("data.csv", newline="") as bestand:
records = list(csv.DictReader(bestand))
print(records[0])Bewaar alle rijen om later verder te verwerken.
Praktische scripts
from pathlib import Path
pad = Path("data.csv")
if pad.exists():
print("Bestand gevonden")
else:
print("Bestand ontbreekt")Handig voordat je een bestand probeert te openen.
from pathlib import Path
Path("resultaten").mkdir(exist_ok=True)
print("Map is klaar")Maak automatisch een outputmap aan.
from pathlib import Path
for bestand in Path(".").glob("*.csv"):
print(bestand.name)Zoek alle CSV-bestanden in een map.
with open("data.csv", "r", encoding="utf-8") as f:
regels = f.readlines()
print("Aantal regels:", len(regels))Controleer snel hoeveel regels een bestand heeft.
with open("log.txt", "a", encoding="utf-8") as log:
log.write("Script succesvol gestart\n")Bewaar meldingen tijdens het uitvoeren van je script.
from pathlib import Path
output = Path("output.csv")
if output.exists():
keuze = input("Overschrijven? y/n ")
if keuze.lower() != "y":
quit()Vraag toestemming voordat je een bestaand bestand vervangt.
from decimal import Decimal
bedrag = Decimal("120.00")
verschil = Decimal("240.00") - bedrag
print(verschil)Gebruik Decimal voor geldbedragen in plaats van float.
headers = ["id", "naam", "bedrag"]
kolom = headers.index("bedrag")
print(kolom)Zoek een kolom op naam in een CSV-header.
Debuggen
py collect.pyVoer een Python-script uit vanuit PowerShell of terminal.
import os
print(os.getcwd())Controleer waar Python zoekt naar je bestanden.
amount = 120
print("DEBUG amount =", amount)Gebruik tijdelijke printregels om waarden te controleren.
try:
open("data.csv")
except Exception as fout:
print("Foutmelding:", fout)Laat zien waarom iets niet lukt.
py -m pip install flaskInstalleer packages met dezelfde Python-versie als je gebruikt.
py -m pip freeze > requirements.txtSla geïnstalleerde modules op voor je project.
py --version
python --versionControleer welke Python op je computer beschikbaar is.
if not Path("leden.csv").exists():
print("leden.csv ontbreekt")
quit()Stop netjes als een verplicht bestand ontbreekt.
Ontwerp
Start
↓
Lees input
↓
Verwerk gegevens
↓
Schrijf output
↓
StopEen simpel ontwerp voordat je begint met programmeren.
if bestand_bestaat:
lees_bestand()
else:
toon_foutmelding()Een if-statement wordt in een flowchart vaak een ruit.
inputbestand = "leden.csv"
outputbestand = "output.csv"Noteer duidelijk welke bestanden het script gebruikt.
verplichte_kolommen = ["id", "bedrag"]
for kolom in verplichte_kolommen:
if kolom not in headers:
print("Kolom ontbreekt")Controleer of de brondata bruikbaar is.
try:
maak_output()
except PermissionError:
print("Outputbestand is geopend")Een professioneel ontwerp toont ook wat er gebeurt bij fouten.
print("Proces succesvol afgerond")Laat de gebruiker weten dat het script klaar is.
Mini-projecten
leden = {"9834": "Marach", "4388": "Ulsdens"}
betalingen = {"9834": 240, "4388": 180}
minimum = min(betalingen.values())
for lid, bedrag in betalingen.items():
if bedrag > minimum:
print(lid, leden[lid], bedrag - minimum)Een compacte versie van een administratie-opdracht.
cijfers = [5.4, 6.7, 8.1, 4.9]
for cijfer in cijfers:
print("voldoende" if cijfer >= 5.5 else "onvoldoende")Gebruik voorwaarden om resultaten te classificeren.
voorraad = {"laptop": 3, "muis": 0}
for product, aantal in voorraad.items():
if aantal == 0:
print(product, "bijbestellen")Zoek automatisch producten die op zijn.
naam = "Student"
score = 8
regel = f"{naam};{score};geslaagd"
print(regel)Maak een regel die je later naar CSV kunt schrijven.
naam = " Marach, Fina "
print(" ".join(naam.split()))Verwijder dubbele spaties en rommelige invoer.
aantal = 2
totaal = 180
print(f"{aantal} records verwerkt, totaal €{totaal}")Geef na afloop een duidelijke samenvatting.