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.
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.
Duidelijkheid en Leesbaarheid
: Je code wordt een stuk makkelijker te begrijpen,
zowel voor jezelf als in de toekomst voor anderen. Zo ziet iedereen bijvoorbeeld onmiddellijk welk type data een
functie verwacht.
Foutpreventie
: Hoewel Python met het gebruik van datatypes vrij los omgaat tijdens het uitvoeren van het programma,
kunnen moderne code-editors (zoals Visual Studio Code) of tools (zoals Mypy) je waarschuwen als je een fout maakt,
bijvoorbeeld omdat je zonder het te weten de vierkantswortel van een string probeert te berekenen. Dit helpt je om
problemen te vinden voor je de code uitvoert.
Betere Tools
: Type hints maken het voor deze tools mogelijk om betere suggesties te geven en code-aanvullingen te
bieden, wat je productiviteit verhoogt.
Type hints worden meestal gebruikt voor functies om het gegevenstype van parameters en van het retourtype te specificeren.
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.
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.
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!