Mis a jour le 2025-04-14, 12:10

Type Checking

Type checking
  • le checking des types est dynamique en python, même si on précise les types en python3.5
  • par contre, en python3.5, on peut préciser les types dans les fonctions et vérifier les types de manière statique avec l'outil mypy.
Type checking :
  • on peut spécifier les types dans une fonction :
    def cutToLength(myString: str, size: int = 2) -> str:
        return myString[0:size]
        
  • c'est juste un hint qui indique le type attendu, sans effet sur la compilation ou l'exécution.
  • par contre, on peut faire du static type checking avec l'outil mypy : mypy myscript.py va détecter les erreurs de typage.
On peut préciser les types grâce au module typing :
  • from typing import Dict, List, Tuple, Sequence
    DictStringString = Dict[str, str]
    def show(myDict: DictStringString) -> None:
        for key in myDict:
            print(key + ' : ' + myDict[key])
    myDict = {}
    myDict['a'] = 1
    show(myDict)
        
  • ici, mypy myscript.py va sortir une erreur avant exécution car myDict n'est pas un dictionnaire str vers str.
  • from typing import Any : Any indique que n'importe quel type peut être utilisé.
  • from typing import Union : Union[X,Y] indique que le type X ou le type Y peut être utilisé.

Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert