Pouvez-vous définir l'indice de type pour une variable définie avec la withsyntaxe?
with example() as x:
print(x)
Je voudrais taper l'indice ci-dessus pour dire que xc'est un str(à titre d'exemple).
Le seul problème que j'ai trouvé est d'utiliser une variable intermédiaire, mais cela semble hacky.
with example() as x:
y: str = x
print(y)
Je ne trouve pas d'exemple dans la documentation de frappe .
xalors que c'est simplement le type de retour de example.__enter__? Idéalement, vous avez annoté cette méthode / fonction.
xn'est pas la valeur de retour de example; c'est la valeur de retour de example().__enter__().
example. L'annotation example.__enter__signifie une annotation alors qu'avec votre approche, vous devrez annoter dans tous les endroits où ce gestionnaire de contexte est utilisé, plus en général comment un utilisateur est-il censé savoir quel est le type de retour d'une API s'il n'est pas fourni?
xcomme type de retourexample().__enter__()?