Сегодня я впервые столкнулся с оператором Python with. Я слегка использовал Python в течение нескольких месяцев и даже не знал о его существовании! Учитывая его несколько неясный статус, я подумал, что стоит спросить:
Для чего предназначен оператор Python with?
Для чего вы его используете?
Есть ли какие-либо ошибки, о которых мне нужно знать, или общие антишаблоны, связанные с его использованием? Есть ли случаи, когда лучше использовать try..finally, чем?
Почему он не используется более широко?
Какие классы стандартной библиотеки с ним совместимы?
Сегодня я впервые столкнулся с оператором Python with. Я слегка использовал Python в течение нескольких месяцев и даже не знал о его существовании! Учитывая его несколько неясный статус, я подумал, что стоит спросить: [list] [*]Для чего предназначен оператор Python with? [*]Для чего вы его используете? [*]Есть ли какие-либо ошибки, о которых мне нужно знать, или общие антишаблоны, связанные с его использованием? Есть ли случаи, когда лучше использовать try..finally, чем? [*]Почему он не используется более широко? [*]Какие классы стандартной библиотеки с ним совместимы? [/list]