С заявлением равно попробуй поймай - PullRequest
1 голос
/ 21 марта 2019

Я все еще испытываю некоторые затруднения с пониманием утверждения with в python после прочтения некоторых статей по нему. Эти два кода делают то же самое? with делает то же самое, что и try catch?

try:
  a = A()
  #do something with a


with A() as a:
  #do something with a

1 Ответ

1 голос
/ 21 марта 2019

Нет, оператор with является "менеджером контекста".Подумайте так:

with open(filename, "w") as file:
    do stuff in file

Теперь, когда приведенный выше код завершает работу, а выполнение оставляет оператор with, файл больше не будет открыт.

Пожалуйста, посмотрите этоболее того, это дает хорошее объяснение: https://jeffknupp.com/blog/2016/03/07/python-with-context-managers/

...