12 мар. 2019 г.

Не самый очевидный del

В Python 3 следующий код
exc = None
try:
    assert False
except Exception as exc:
    pass
print(exc)
даёт ошибку NameError: name 'exc' is not defined. Это, конечно, здорово, что исключение, образующее циклические ссылки, очищается при выходе из except. Не здорово, что при этом удаляется явно присвоенное значение.

Комментариев нет: