Чи можете ви визначити підказку типу для змінної, визначеної withсинтаксисом?
with example() as x:
print(x)
Я хотів би набрати підказку вище, сказати, що xце str(як приклад).
Єдина робота, яку я знайшов, - це використання проміжної змінної, але це відчувається хакі.
with example() as x:
y: str = x
print(y)
Я не можу знайти приклад у друкарській документації .
xколи це просто тип повернення example.__enter__? В ідеалі ви вказали цей метод / функцію.
xне повернене значення example; це повернене значення example().__enter__().
example. Анотування example.__enter__означає одне примітку, тоді як при вашому підході вам доведеться коментувати в усіх місцях, де використовується цей менеджер контексту, а також взагалі, як користувач повинен знати, що таке тип повернення API, якщо він не надається?
xяк тип поверненняexample().__enter__()?