J'ai une fonction qui prend un tuple de différentes longueurs comme argument :
from typing import Tuple
def process_tuple(t: Tuple[str]):
# Do nasty tuple stuff
process_tuple(("a",))
process_tuple(("a", "b"))
process_tuple(("a", "b", "c"))
Lorsque j'annote la fonction comme indiqué ci-dessus, j'obtiens les messages d'erreur suivants
fool.py:9: error: Argument 1 to "process_tuple" has incompatible type "Tuple[str, str]"; expected "Tuple[str]"
fool.py:10: error: Argument 1 to "process_tuple" has incompatible type "Tuple[str, str, str]"; expected "Tuple[str]"
process_tuple
fonctionne vraiment avec des tuples et je les utilise comme des listes immuables de longueur variable. Je n'ai pas trouvé de consensus sur ce sujet sur Internet, et je me demande donc comment je dois annoter ce type d'entrée.
0 votes
Obtenez-vous ces erreurs lorsque vous exécutez le code ? J'ai exécuté le code sans aucune erreur.
4 votes
J'obtiens ces erreurs quand je lance
mypy
.