Мне было интересно, всегда ли выполняется оператор with __exit__
, как и finally
. Возьмите этот код:
class WithTest(object):
def __enter__(self):
print("entering")
return self
def __exit__(self, a, b, c):
print("exiting")
with WithTest():
pass
Будет ли он выполняться, даже если вместо прохода вызывается exit()
?