Czy potrafisz zdefiniować wskazówkę dotyczącą typu dla zmiennej zdefiniowanej with
składnią?
with example() as x:
print(x)
Chciałbym wpisać podpowiedź powyżej, aby powiedzieć, że x
jest 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 .
x
gdy jest to po prostu typ zwracany example.__enter__
? Najlepiej, jeśli opisałeś tę metodę / funkcję.
x
nie 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?
x
jako typu zwracanegoexample().__enter__()
?