Skip to content
ICT Fusion Knowledgebase

Python

Python is een populaire programmeertaal die veel gebruikt wordt in de software development wereld. Het is een veelzijdige taal die je kan gebruiken voor allerlei toepassingen, van webdevelopment tot data science.

Een aantal belangrijke kenmerken van Python zijn:

  • Python is in 1991 ontwikkeld door Guido van Rossum, een Nederlandse programmeur!
  • Python is een toegankelijke taal: de syntax is eenvoudig en duidelijk, wat goed is voor beginners.
  • Door een breed scala aan beschikbare libraries is Python erg flexibel en kan je veel verschillende toepassingen mee realiseren.
  • De taal kent geen { } (braces) maar gebruikt inspringing (indentation) om codeblokken aan te duiden.

Programmeren in Python

Net als in andere programmeertalen kent Python ook de basisprincipes van programmeren:

  • Variabelen en datatypes
  • Operatoren
  • Controlestructuren
  • Functies en procedures
  • Datastructuren

Over het algemeen staat Python bekend als een vriendelijke taal voor beginners, maar dat betekent niet dat je het niet kan gebruiken voor complexe toepassingen. Python is een volwassen taal met een grote community en een breed scala aan toepassingen.

Installatie en eerste stappen

Om Python te kunnen gebruiken moet je dit eerst installeren op je computer.

Python in Docker

Wanneer je gebruik maakt van Docker is het niet nodig om zelf nog Python te installeren op je computer. Wel kan het altijd handig zijn om Python te kunnen gebruiken zonder Docker, bijvoorbeeld om te experimenteren of te testen.

  • Python installeren: Download Python vanaf de officiële website: Python.org Download. Vink tijdens installatie op Windows aan: “Add Python to PATH”.
  • Interpreter controleren:
python --version
# of soms
python3 --version
  • Interactieve modus (REPL): Start met python en probeer eenvoudige expressies:
>>> 2 + 3
5
>>> print("Hallo, wereld!")
Hallo, wereld!
  • Een script draaien: Maak een bestand hello.py en voer het uit.
print("Hallo, wereld!")
python hello.py

Handige editors/IDE’s: VS Code of PyCharm.

Basisconcepten

Variabelen en datatypes

Variabelen maak je door een naam een waarde te geven. Python is dynamisch getypt. Dat wil zeggen dat je geen type moet declareren voor een variabele, Python zelf bepaalt het type.

naam = "Sam"
leeftijd = 19
is_student = True
gemiddelde = 8.3

print(type(naam))       # <class 'str'>
print(type(leeftijd))   # <class 'int'>
print(type(is_student)) # <class 'bool'>
print(type(gemiddelde)) # <class 'float'>

Veel gebruikte types: int, float, str, bool, list, tuple, dict, set, en None.

Invoer en uitvoer

naam = input("Wat is je naam? ")
print("Welkom,", naam)

input geeft altijd een str terug. Om te rekenen moet je converteren:

leeftijd = int(input("Leeftijd? "))
print(leeftijd + 1)

Operatoren

  • Rekenen: + - * / // % **
  • Vergelijking: == != < <= > >=
  • Logisch: and or not
print(5 // 2)  # 2 (gehele deling)
print(5 % 2)   # 1 (rest)
print(2 ** 3)  # 8 (macht)

Controle­structuren

If/elif/else

Net als in andere talen kent Python ook de if/else constructie. Ook kent Python de elif constructie, in andere talen kun je deze ook wel zien als een “else if”.

score = 73
if score >= 90:
    print("Uitstekend")
elif score >= 60:
    print("Voldoende")
else:
    print("Onvoldoende")

Herhalen (loops)

Om een codeblok meerdere keren uit te voeren kun je gebruik maken van een loop. Python kent twee soorten loops: de for loop en de while loop.

# for over een range
for i in range(3):
    print("i is", i)

# while lus
teller = 0
while teller < 3:
    print("teller is", teller)
    teller += 1

Break en continue

for getal in range(10):
    if getal == 5:
        break       # stopt de herhaling (loop)
    if getal % 2 == 0:
        continue    # sla even getallen over (continue naar de volgende iteratie
    print(getal)

Werken met datastructuren

Lijsten (list)

getallen = [10, 20, 30]
getallen.append(40)
eerste = getallen[0]
laatste = getallen[-1]
for g in getallen:
    print(g)

Tupels (tuple)

Onveranderlijke lijst, handig voor vaste combinaties:

punt = (10, 20)
x, y = punt

Woordenboeken (dict)

student = {"naam": "Sam", "leeftijd": 19}
student["opleiding"] = "HBO-ICT"
for sleutel, waarde in student.items():
    print(sleutel, "->", waarde)

Verzamelingen (set)

uniek = {1, 2, 2, 3}
print(uniek)  # {1, 2, 3}

List comprehensions

kwadraten = [n * n for n in range(6) if n % 2 == 0]
print(kwadraten)  # [0, 4, 16]

Functies en modules

Functies

def begroet(naam: str) -> None:
    print(f"Hoi {naam}!")

begroet("Sam")

Argumenten kunnen standaardwaarden hebben en met naam worden doorgegeven:

def maak_label(naam: str, groep: str = "A") -> str:
    return f"{naam} (groep {groep})"

print(maak_label("Sam"))
print(maak_label("Alex", groep="B"))

Modules importeren

import math
from statistics import mean

print(math.sqrt(16))
print(mean([6, 7, 8]))

Foutafhandeling (exceptions)

try:
    leeftijd = int(input("Leeftijd? "))
    print(10 / leeftijd)
except ValueError:
    print("Geef een geldig getal op!")
except ZeroDivisionError:
    print("Delen door nul kan niet!")
else:
    print("Gelukt zonder fouten")
finally:
    print("Klaar")

Bestanden lezen en schrijven

# schrijven
with open("voorbeeld.txt", "w", encoding="utf-8") as f:
    f.write("Hallo bestand!\n")

# lezen
with open("voorbeeld.txt", "r", encoding="utf-8") as f:
    inhoud = f.read()
    print(inhoud)

Pakketten beheren met pip en virtuele omgevingen

Installeer pakketten uit de Python Package Index (PyPI) met pip.

Python in Docker

Wanneer je gebruik maakt van Docker is het niet nodig om zelf nog pakketten te installeren. Wel moet je de requirements.txt file aanpassen om de juiste pakketten te installeren. Na het aanpassen moet je de container opnieuw opstarten of builden.

python -m pip install requests

Gebruik een virtuele omgeving zodat projectafhankelijkheden gescheiden blijven:

python -m venv .venv
# Windows PowerShell
.\.venv\Scripts\Activate.ps1
# macOS/Linux
source .venv/bin/activate

pip install requests

Objectgeoriënteerd programmeren (OOP) in het kort

class Student:
    def __init__(self, naam: str, leeftijd: int) -> None:
        self.naam = naam
        self.leeftijd = leeftijd

    def omschrijving(self) -> str:
        return f"{self.naam} ({self.leeftijd})"

s = Student("Sam", 19)
print(s.omschrijving())

Stijl en best practices

  • PEP 8: De officiële stijlrichtlijnen. Zie: PEP 8 Style Guide
  • Naamgeving: functies_en_variabelen_met_underscores, KlassenMetCamelCase.
  • Leesbaarheid Schrijf duidelijke, korte functies, kies betekenisvolle namen en gebruik consistente parameters.
  • Docstrings om uit te leggen wat functies/klassen doen.

Voorbeeld docstring:

def oppervlakte_rechthoek(breedte: float, hoogte: float) -> float:
    """Bereken oppervlakte van een rechthoek in vierkante eenheden."""
    return breedte * hoogte

Handige tools

  • VS Code extensies: Python (Microsoft), Pylance, isort, Black.
  • Formatters/Linters: Black, Ruff, Flake8, isort.
  • Debuggen: VS Code debugger (F5), pdb in terminal.

Verder leren en referenties