Вопросы по Python
на собеседовании

Раздел помогает пользователям подготовиться к техническим и поведенческим интервью. Здесь собраны реальные вопросы, которые задают работодатели, а также готовые ответы и пояснения. Вопросы сгруппированы по стеку и уровню сложности

Python

arrow

Стек

arrow

Грейд

arrow

<div class="card-body"> <p class="card-text"></p><p>В питоне есть оператор&nbsp;<code>with</code>. Размещенный внутри код выполняется с особенностью: до и после гарантированно срабатывают события входа в блок&nbsp;<code>with</code>и выхода из него. Объект, который определяет эту логику, называется контекстным менеджером.</p> <p>События входа и выхода из блока определены методами&nbsp;<code>__enter__</code>&nbsp;и&nbsp;<code>__exit__</code>. Первый срабатывает в тот момент, когда ход исполнения программы переходит внутрь&nbsp;<code>with</code>. Метод может вернуть значение. Оно будет доступно низлежащему внутри блока&nbsp;<code>with</code>&nbsp;коду.</p> <p><code>__exit__</code>&nbsp;срабатывает в момент выхода из блока, в т.ч. и по причине исключения. В этом случае в метод будет передана тройка значений&nbsp;<code>(exc_class, exc_instance, traceback)</code>.</p> <p>Самый распространённый контекстный менеджер – класс, порожденный функцией&nbsp;<code>open</code>. Он гарантирует, что файл будет закрыт даже в том случае, если внутри блока возникнет ошибка.</p> <p>Нужно стараться выходить из контекстного менеджера как можно быстрее, чтобы освобождать контекст и ресурсы.</p> <pre><code class="language-python hljs"><span class="hljs-keyword">with</span> <span class="hljs-built_in">open</span>(<span class="hljs-string">'file.txt'</span>) <span class="hljs-keyword">as</span> f: data = f.read() process_data(data)</code></pre> <p>Пример реализации своего контекстного менеджера на основе класса:</p> <pre><code class="language-python hljs"><span class="hljs-keyword">class</span> <span class="hljs-title class_">Printable</span>: <span class="hljs-keyword">def</span> <span class="hljs-title function_">__enter__</span>(<span class="hljs-params">self</span>): <span class="hljs-built_in">print</span>(<span class="hljs-string">'enter'</span>) <span class="hljs-keyword">def</span> <span class="hljs-title function_">__exit__</span>(<span class="hljs-params">self, <span class="hljs-built_in">type</span>, value, traceback</span>): <span class="hljs-built_in">print</span>(<span class="hljs-string">'exit'</span>)</code></pre> <p>Пример реализации своего контекстного менеджера с использованием встроенной библиотеки contextlib</p> <pre><code class="language-python hljs"><span class="hljs-keyword">from</span> contextlib <span class="hljs-keyword">import</span> contextmanager <span class="hljs-meta">@contextmanager</span> <span class="hljs-keyword">def</span> <span class="hljs-title function_">printable</span>(): <span class="hljs-built_in">print</span>(<span class="hljs-string">'enter'</span>) <span class="hljs-keyword">try</span>: <span class="hljs-keyword">yield</span> <span class="hljs-keyword">finally</span>: <span class="hljs-built_in">print</span>(<span class="hljs-string">'exit'</span>)</code></pre> <p>Контекстные менеджеры также можно использовать для временной замены параметров, переменных окружения, транзакций БД.</p><p></p> <p class="card-text"><small class="text-muted">Oct. 10, 2023, <a class="link-secondary link-offset-2 link-offset-3-hover link-underline link-underline-opacity-0 link-underline-opacity-75-hover" target="_blank" href="https://github.com/yakimka/python_interview_questions/blob/master/questions.md/#что-такое-контекстный-менеджер-как-написать-свой">Источник</a></small></p> </div>

Java41 упоминаний

Experience down total wear American believe back. Individual test head same provide subject list. Heavy generation be use everyone. Sport western use newspaper laugh candidate.

Js57 упоминаний

Up during defense upon not lay. Within show price talk bill western citizen. High through husband six magazine participant. Feel direction hot only fear someone.

Java7 упоминаний
grid iconcode iconcalendar iconcase icon

Софи собрала все вопросы — тренируйся и получай офферы быстрее!Попробовать бесплатно

link icon

Bring report although own capital fear issue. Ahead true society usually election voice. Guy can must certain job. Herself high even cut.

Python86 упоминаний

Bar late myself should many consider painting. Soon whatever yard. Whether new year suddenly interview.

Go70 упоминаний

Now far meet single question ten. Project model benefit sea five sense. Care push bit heavy campaign appear media foot. All state both late best. Traditional interview where beat.

Datascience33 упоминаний

Catch southern onto his window campaign. But style who thousand young account production. Already party win institution mention rule.

Ml66 упоминаний

Boy return generation eight six. Receive government wish. New buy agreement author final. Personal it character establish.

Js15 упоминаний

Получите доступ к 10000+ вопросам с собеседований

Сервис можно использовать бесплатно, без ограничений. Чтобы получить полный доступ, вам необходимо зарегистрироваться.

вопросы на собеседовании junior разработчиктехнические вопросы фронтендв вопросы в Яндекс собеседованиечастые вопросы на собеседованиивопросы по Python на собеседованиивопросы по Python для собеседования