Czy potrafisz zdefiniować wskazówkę dotyczącą typu dla zmiennej zdefiniowanej withskładnią?
with example() as x:
print(x)
Chciałbym wpisać podpowiedź powyżej, aby powiedzieć, że xjest to str(jako przykład).
Jedyne obejście, które znalazłem, to użycie zmiennej pośredniej, ale wydaje się to hacking.
with example() as x:
y: str = x
print(y)
Nie mogę znaleźć przykładu w dokumentacji do pisania .
xgdy jest to po prostu typ zwracany example.__enter__? Najlepiej, jeśli opisałeś tę metodę / funkcję.
xnie jest wartością zwracaną example; jest to wartość zwracana z example().__enter__().
example. Adnotacje example.__enter__oznaczają jedną adnotację, podczas gdy w swoim podejściu musiałbyś adnotować we wszystkich miejscach, w których używany jest ten menedżer kontekstu, a także ogólnie w jaki sposób użytkownik powinien wiedzieć, jaki jest typ zwracanego interfejsu API, jeśli nie jest on dostarczony?
xjako typu zwracanegoexample().__enter__()?