Bisakah Anda menentukan jenis petunjuk untuk variabel yang ditentukan dengan withsintaks?
with example() as x:
print(x)
Saya ingin mengetikkan petunjuk di atas untuk mengatakan bahwa itu xadalah str(sebagai contoh).
Satu-satunya cara yang saya temukan adalah menggunakan variabel perantara, tetapi ini terasa membingungkan.
with example() as x:
y: str = x
print(y)
Saya tidak dapat menemukan contoh dalam dokumentasi pengetikan .
xpadahal itu hanya tipe pengembalian example.__enter__? Idealnya Anda telah mencatat metode / fungsi tersebut.
xbukan nilai pengembalian example; itu adalah nilai balik dari example().__enter__().
example. Anotasi example.__enter__berarti satu anotasi sementara dengan pendekatan Anda, Anda harus membuat anotasi di semua tempat di mana manajer konteks itu digunakan, plus secara umum bagaimana seorang pengguna seharusnya mengetahui apa tipe pengembalian API jika itu tidak disediakan?
xsebagai tipe pengembalianexample().__enter__()?