Bonjour,
Je suis en train d'essayer de progressivement intégrer le type hint et le typing a mon code python.
Cependant, je bloque actuellement sur une notion : TypeVar.
Je ne comprends pas du tout à quoi cela correspond. J'ai regardé la documentation officielle et cherché ailleurs mais j'ai du mal à en comprendre l'essence même : qu'est-ce c'est et quelle est son utilité ?
Par exemple dans la documentation officielle:
Pourquoi passe-t-on la string 'T' ? Et comment ça ca peut être n'importe quoi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 T = TypeVar('T') # Can be anything A = TypeVar('A', str, bytes) # Must be str or bytes
La ca me perd complètement : A quoi sert de mettre T en type hint si cela peut correspondre à n'importe quoi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 def repeat(x: T, n: int) -> Sequence[T]: """Return a list containing n references to x.""" return [x]*n def longest(x: A, y: A) -> A: """Return the longest of two strings.""" return x if len(x) >= len(y) else y
Bref, je suis complètement confus avec cette notion et je serai gré à n'importe qui d'éclairer ma lanterne.
Merci d'avance
Haudelard
Partager