Type hinting

Type hinting is een manier om je Python-code duidelijker te maken door aan te geven welk datatype je verwacht voor een argument of retourwaarde van een functies. Het is als het toevoegen van labels aan je code, zodat iedereen precies weet welk gegevenstype waar verwacht wordt . In heel wat programmeertalen is het trouwens vanzelfsprekend om aan te geven welk gegevenstype variabelen heben.

Waarom zou je het gebruiken?

Stel je voor dat je een klasgenoot vraagt om een doos voor je te pakken. Als je alleen zegt: “Pak de doos,” weet diegene niet zeker of het om de doos met boeken, de doos met pennen, of de doos met kleding gaat. Maar als je zegt: “Pak de doos met boeken,” is het meteen duidelijk. Type hinting doet hetzelfde voor je code.

Type hints worden meestal gebruikt voor functies om het gegevenstype van parameters en van het retourtype te specificeren.

  1. Parameters

    Je voegt een dubbele punt (:) en de naam van het datatype toe na de naam van de parameter.

     # Zonder type hinting
     def groet(naam):
         print("Hallo," + naam)
        
     # Met type hinting
     def groet(naam: str):
         print("Hallo," + naam)
    

    In de tweede versie vertel je de lezer (en de computer!) dat de variabele naam een string moet zijn.

  2. Retourtype

    Je voegt een pijl (->) en de naam van het datatype toe na de haakjes van de functie.

     # Zonder type hinting
     def vermenigvuldig(a, b):
         return a * b
        
     # Met type hinting
     def vermenigvuldig(a: int, b: int) -> int:
         return a * b
    

    Hier geef je aan dat de functie twee integers (a en b) verwacht en een integer teruggeeft.

  3. Variabelen

    Je kunt ook hints geven voor gewone variabelen, hoewel dit in Python minder vaak gebeurt.

     leeftijd: int = 16
    

    Dit zijn de meest voorkomende datatypes en hun type aanduidingen in Python:

    Hint Datatype Betekenis Voorbeeld in code
    str String Tekst (karakters, woorden, zinnen) naam: str = "Lisa"
    int Integer Hele getallen leeftijd: int = 25
    float Float Kommagetallen prijs: float = 19.99
    bool Boolean Waar of onwaar (True of False) is_actief: bool = True

Samengevat: type hints zijn als de gebruiksaanwijzing van je code. Ze maken het werk makkelijker en verminderen de kans op fouten. Het is een goede gewoonte om mee te beginnen als je code wat complexer wordt!