Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: with, manager

Что такое контекстный менеджер?

Этот вопрос проверяет понимание работы с ресурсами в Python, таких как файлы или соединения, которые требуют корректного закрытия.

Короткий ответ

Контекстный менеджер в Python управляет ресурсами, обеспечивая их автоматическое освобождение. Например, с помощью конструкции with open('file.txt') as f: файл будет автоматически закрыт после завершения блока.

Длинный ответ

Контекстный менеджер — это объект, который управляет ресурсами с помощью методов __enter__ и __exit__. Он гарантирует выполнение важного кода, такого как освобождение памяти, закрытие соединений или файлов, даже если внутри блока возникнет исключение.
Пример:

with open('example.txt', 'r') as file:  
    	data = file.read()  
# Здесь файл уже закрыт, даже если была ошибка в блоке.  

Вы также можете создавать собственные контекстные менеджеры:

class MyManager:  
    	def __enter__(self):  
        	print("Entering context")  
        	return self  
    	def __exit__(self, exc_type, exc_value, traceback):  
        	print("Exiting context")  

with MyManager() as manager:  
    	print("Inside context")  

Контекстные менеджеры широко применяются для работы с файлами, потоками, соединениями с базой данных и другими ресурсами, требующими четкого контроля.

  • Аватар

    QA Manual Guru

    Ziyaev Ed

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    5

Навыки

  • Python

    Python

Ключевые слова

#with

#manager

Подпишись на Python Developer в телеграм

  • Аватар

    QA Manual Guru

    Ziyaev Ed

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.