Skip to content
Programmeren in Python, leer de nieuwste technieken
Programmeren in PythonProgrammeren in Python
  • Home
  • Blog
  • Documentatie
  • Cursussen
Programmeren in PythonProgrammeren in Python
  • Home
  • Blog
  • Documentatie
  • Cursussen

Introductie

4
  • 1.1 Wat is Python?
  • 1.2 Python installatie
  • 1.2.1 Python installeren voor MacOS
  • 1.3 PyCharm Installatie

Basisprogrammering

6
  • 2.1 Python Basis: Variabelen, Datatypes en Operatoren
  • 2.2 Python if else (en elif)
  • 2.3 Python list (Array, Lijsten)
  • 2.4 Python Lussen: for loop, while loop, break, continue
  • 2.5 Python Functies: Definities, Parameters en Terugkeerwaarden
  • 2.6 Foutafhandeling: try, except, else, finally

Datatypes

13
  • 3.1 Introductie tot Geavanceerde Datatypes
  • 3.2 Python Tuple
  • 3.3 Python Set
  • 3.4 Python Dictionary
  • 3.5 Werken met Strings en String-methoden
  • 3.6 Collections Module: Krachtige Tools in Python
  • 3.7 Iterators en Generators
  • 3.8 List Comprehensions
  • 3.9 Geavanceerde Sortering
  • 3.10 Werken met Multi-dimensionale Data
  • 3.11 Typing en Datatypes
  • 3.12 Itertools voor Geavanceerde Iteraties
  • 3.13 Data Conversies

Modules

8
  • 4.1 Wat zijn Modules en Waarom zijn ze Belangrijk?
  • 4.2 Werken met Ingebouwde Modules
  • 4.3 Installeren en Gebruiken van Externe Pakketten
  • 4.4 Eigen Modules Maken
  • 4.5 Introductie tot Pakketten
  • 4.6 Importeren en Namespaces Begrijpen
  • 4.7 Geavanceerd: Relatief Importeren
  • 4.8 Organiseren van Grotere Projecten

Data Analyse

3
  • 5.1 Python Dataframe en Data Opschonen met Pandas
  • 5.2 Python Pandas Basisstatistieken en Data-analyse
  • 5.3 Python Numpy (NpArray): De Kracht van Numerieke Berekeningen

Webontwikkeling

5
  • 7.1 Inleiding tot Webontwikkeling
  • 7.2 HTTP-Verzoeken met requests: Communiceren met het Web
  • 7.3 Webscraping met BeautifulSoup: Data van het Web Halen als er geen APIs zijn
  • 7.4 Python Flask, een webserver & API tutorial
  • 7.5 WSGI & WebOb

Deploy

1
  • Deploy met Supervisor op Ubuntu

Object GeoriΓ«nteerd Programmeren

8
  • Wat is ObjectgeoriΓ«nteerd Programmeren (OOP) in Python?
  • Python class & object maken
  • self en __init__ uitgelegd (met voorbeelden)
  • Attributen afschermen: @property (getters/setters)
  • Overerving in Python + super() (en wanneer je het beter nΓ­et doet)
  • Dunder methods: __str__, __repr__, vergelijken (en waarom dit je OOP-code β€œPythonic” maakt)
  • @dataclass: snelle nette classes (minder boilerplate, meer duidelijkheid)
  • OOP in de praktijk: design & structuur
View Categories
  • Home
  • Documentatie
  • Datatypes
  • 3.11 Typing en Datatypes

3.11 Typing en Datatypes

4 minuten leestijd

In Python kun je variabelen en functies gebruiken zonder vooraf vast te leggen welk datatype ze hebben. Dit maakt Python flexibel, maar kan soms ook voor verwarring zorgen. Gelukkig biedt Python type hints, een hulpmiddel om duidelijk te maken welk datatype een functie verwacht en wat deze retourneert. Met type hints kun je je code overzichtelijker maken en fouten gemakkelijker voorkomen – en dat is een enorme win voor beginners Γ©n ervaren programmeurs! πŸŽ‰

Gebruik van Type Hints #

Type hints maken het duidelijk welk datatype een functie verwacht en wat deze retourneert. Hoewel Python dynamisch getypeerd blijft (de type hints worden niet afgedwongen tijdens runtime), zijn ze een geweldige manier om je code beter te documenteren en tools zoals linters of IDE’s te helpen fouten op te sporen.

Type hints in functies #

Stel je voor dat je een functie hebt die twee getallen optelt. Zonder type hints is het niet direct duidelijk of deze functie bijvoorbeeld met strings of integers moet werken. Met type hints kun je dat expliciet maken.

Voorbeeld:

def optellen(a: int, b: int) -> int:
    return a + b
Python

Uitleg:

  • a: int en b: int betekenen dat de parameters a en b integers moeten zijn.
  • -> int geeft aan dat de functie een integer retourneert.

Gebruik:

resultaat = optellen(5, 3)  # Werkt prima
# resultaat = optellen("5", "3")  
# Dit werkt technisch gezien in Python, 
# maar een linter zal waarschuwen
print(resultaat)  # Toont: 8
Python

Waarom Type Hints gebruiken? #

  1. Leesbaarheid: Het is direct duidelijk wat een functie doet en wat je ervan kunt verwachten.
  2. Foutopsporing: IDE’s en linters zoals mypy kunnen waarschuwen als je de verkeerde types gebruikt.
  3. Zelfdocumenterend: Type hints maken je code begrijpelijker voor anderen (en voor jezelf als je er later op terugkomt!).

Complexere Typing #

Voor eenvoudige functies kun je types zoals int, str, en bool gebruiken. Maar wat als je werkt met lijsten, tuples, of dictionaries? Python biedt hiervoor de typing module, waarmee je complexe datatypes kunt specificeren.

1. Typing voor lijsten #

Als je een functie hebt die een lijst retourneert of verwacht, kun je met de typing.List aangeven wat voor type items er in die lijst zitten.

Voorbeeld:

from typing import List

def vierkanten(getallen: List[int]) -> List[int]:
    return [x**2 for x in getallen]
Python

Uitleg:

  • List[int] betekent een lijst waarin alle items integers zijn.

Gebruik:

resultaat = vierkanten([1, 2, 3])
print(resultaat)  # Toont: [1, 4, 9]
Python

2. Typing voor tuples #

Tuples hebben een vaste volgorde en een vaste lengte. Met typing.Tuple kun je aangeven wat de types van de items zijn, in volgorde.

Voorbeeld:

from typing import Tuple

def coΓΆrdinaten() -> Tuple[float, float]:
    return (52.3676, 4.9041)
Python

Uitleg:

  • Tuple[float, float] betekent dat de tuple precies twee floats bevat.

Gebruik:

locatie = coΓΆrdinaten()
print(locatie)  
# Toont: (52.3676, 4.9041)
Python

3. Typing voor dictionaries #

Met typing.Dict kun je aangeven wat het type van de sleutel en de waarde is in een dictionary.

Voorbeeld:

from typing import Dict

def tel_woorden(tekst: str) -> Dict[str, int]:
    woorden = tekst.split()
    frequentie = {}
    for woord in woorden:
        frequentie[woord] = frequentie.get(woord, 0) + 1
    return frequentie
Python

Uitleg:

  • Dict[str, int] betekent dat de dictionary sleutels heeft van het type string en waarden van het type integer.

Gebruik:

resultaat = tel_woorden("python is geweldig python is leuk")
print(resultaat)  
# Toont: {'python': 2, 'is': 2, 
#.'geweldig': 1, 'leuk': 1}
Python

Gecombineerde Typing #

Wat als je een lijst van tuples wilt retourneren? Of een dictionary waarin de waarde een lijst is? Je kunt de typing module combineren om complexere datatypes te beschrijven.

Voorbeeld 1: Lijst van tuples

from typing import List, Tuple

def producten() -> List[Tuple[str, float]]:
    return [("Appel", 1.50), ("Banaan", 0.80)]
Python

Uitleg:

  • List[Tuple[str, float]] betekent een lijst van tuples, waarbij elke tuple een string en een float bevat.

Voorbeeld 2: Dictionary met lijsten als waarden

from typing import Dict, List

def categoriseer() -> Dict[str, List[str]]:
    return {
        "Fruit": ["Appel", "Banaan"],
        "Groente": ["Wortel", "Spinazie"]
    }
Python

Uitleg:

  • Dict[str, List[str]] betekent een dictionary met strings als sleutels en lijsten van strings als waarden.

Flexibele Typing met Any #

Soms weet je niet precies welk type een waarde kan hebben. Gebruik in dat geval typing.Any.

Voorbeeld:

from typing import Any

def echo(waarde: Any) -> Any:
    return waarde
Python

Gebruik:

print(echo(5))         
# Toont: 5
print(echo("Python"))  
# Toont: Python
Python

Samenvatting #

Typing in Python is een krachtig hulpmiddel om je code overzichtelijker, leesbaarder en minder foutgevoelig te maken. Met eenvoudige types zoals int en str kun je basisfuncties verduidelijken, terwijl je met de typing module complexe datatypes zoals List, Tuple, en Dict kunt specificeren.

Probeer type hints in je eigen code en ontdek hoe ze je programmeerervaring verbeteren – en hoe blij je toekomstige zelf zal zijn met je duidelijke documentatie! πŸš€πŸŽ‰

Updated on december 23, 2024

What are your Feelings

3.10 Werken met Multi-dimensionale Data3.12 Itertools voor Geavanceerde Iteraties
Inhoudsopgave
  • Gebruik van Type Hints
    • Type hints in functies
    • Waarom Type Hints gebruiken?
  • Complexere Typing
    • 1. Typing voor lijsten
    • 2. Typing voor tuples
    • 3. Typing voor dictionaries
  • Gecombineerde Typing
  • Flexibele Typing met Any
  • Samenvatting
Programmeren in Python

Leer python op je eigen tempo met mooie interactieve hedendaagse voorbeelden.

Β© Copyright 2026 Programmeren in Python.
Sign inSign up

Sign in

Don’t have an account? Sign up
Lost your password?

Sign up

Already have an account? Sign in