S
Senior Python Developer
20.09.2026 20:55 · 👁 2.8K
#вопросы_с_собеседований
В каких случаях можно обработать SyntaxError?
SyntaxError — это исключение, которое генерируется интерпретатором при обнаружении ошибки в синтаксисе кода.
Обработать это исключение можно в следующих случаях:
— При разборе и выполнении кода, сгенерированного пользователем в приложении (например, в песочнице).
— При динамическом изменении и выполнении кода с помощью eval() или exec().
— В REPL оболочках для обработки ошибок в интерактивном режиме.
— В инструментах для проверки и валидации кода на корректность синтаксиса.
— В интерпретаторах и компиляторах для информирования пользователя об ошибке.
— В системах автодополнения кода для обработки некорректного синтаксиса.
— В средствах отладки и трассировки для выявления ошибок в выполняемом коде.
S
Senior Python Developer
19.09.2026 19:06 · 👁 3K
tell()
Метод tell() используется для получения текущей позиции (смещения) при работе с файлами и файлоподобными объектами.
При открытии файла указатель текущей позиции находится в начале. По мере чтения/записи он смещается.
Чтобы узнать текущее значение этого смещения, применяется метод tell().
Это позволяет:
— Узнать размер файла, сравнив позицию после чтения с начальной.
— Вернуться к определенной позиции с помощью seek().
— Отслеживать прогресс обработки больших файлов.
— Получить позицию в строковых буферах и потоках байтов.
Метод tell() возвращает текущую позицию в файле в байтах от начала.
S
Senior Python Developer
18.09.2026 20:28 · 👁 3K
raise
Конструкция raise используется для генерации исключений.
Когда в коде происходит что-то непредвиденное или некорректное — можно сгенерировать исключение командой raise.
Например:
raise ValueError('Invalid value')
Здесь мы генерируем исключение ValueError с сообщением об ошибке.
После генерации исключения выполнение текущего кода прерывается и происходит переход в блок try/except для обработки этой ошибки.
Если исключение не будет обработано — программа завершится с ошибкой.
В этом примере функция calculate_discount проверяет входные данные. Если скидка меньше 0 или больше 100 — с помощью raise генерируется исключение ValueError с сообщением.
S
Senior Python Developer
17.09.2026 20:40 · 👁 2.9K
Оператор pass
Оператор pass — это особая конструкция, которая не делает ничего.
Она может применяться в следующих ситуациях:
— Заглушка для незавершенных блоков кода. Если написано только определение функции или класса, но нет тела - можно вставить pass, чтобы код был допустимым синтаксически.
— Пустые блоки в циклах. Вместо тела цикла можно написать pass, если на данном этапе нет необходимости выполнять какие-либо действия.
— Пропускать блоки кода в условных конструкциях. Если в ветви if-else ничего делать не нужно, можно использовать pass.
— Создание абстрактных базовых классов и заготовок методов, которые будут переопределены позже в подклассах.
— Обозначение функций или классов, которые планируется реализовать в будущем.
Как видно из примера, все числа от 0 до 9 выводятся кроме 5.
#это_база
S
Senior Python Developer
15.09.2026 20:54 · 👁 3.3K
Тернарный оператор
Тернарный оператор — это оператор, позволяющий записать условную конструкцию if-else в одну строку.
Тернарный оператор часто используется для условного присваивания значений переменной, выбора между двумя вариантами в одну строку.
Он позволяет сократить и упростить запись условных выражений. Однако не рекомендуется использовать вложенные конструкции, т. к. это ухудшает читаемость.
В данном примере тернарный оператор используется:
— Для вывода одной из двух фраз в зависимости от условия a > b.
— Для присваивания переменной result одного из двух значений в зависимости от четности a.
#это_база
S
Senior Python Developer
14.09.2026 20:53 · 👁 3.5K
#вопросы_с_собеседований
Зачем нужен wraps?
Декоратор functools.wraps используется для того, чтобы сохранить информацию о функции-оригинале при создании декоратора.
Когда мы создаем декоратор, он заменяет оригинальную функцию на обернутую. При этом теряется информация о названии функции, docstring и другие атрибуты.
Используя wraps, мы можем сохранить эти атрибуты. Таким образом декорированная функция будет выглядеть как оригинальная для программиста.
Это полезно для отладки и понимания кода. Например, при просмотре стека вызовов будет видно оригинальное имя функции, а не имя декоратора. При использовании help() будет выведен нужный docstring.
S
Senior Python Developer
13.09.2026 20:57 · 👁 3.4K
#вопросы_с_собеседований
Для чего могут применять конструкцию try finally без except?
Конструкция try-finally без блока except может применяться в следующих случаях:
— Для закрытия файлов после работы с ними, даже если произошла ошибка.
— Для освобождения ресурсов, таких как сетевые соединения или блокировки.
— Для отмены каких-либо длительных операций или процессов в случае прерывания работы программы. Например, отмена запущенных потоков.
— Для логирования или уведомления о завершении блока кода, даже если в нем произошла ошибка.
— Для выполнения необходимой логики по завершении работы блока кода вне зависимости от результата, например сброс счетчиков.
S
Senior Python Developer
12.09.2026 20:34 · 👁 3.4K
Переименование файлов в Python
rename() — это функция из модуля os, которая позволяет переименовывать файлы и директории.
Используется для переименования файлов и директорий на файловой системе. Принимает два аргумента - старое имя и новое имя и атомарно переименовывает файл за одну операцию.
Также позволяет перемещать файлы между разными директориями.
#это_база
S
Senior Python Developer
11.09.2026 20:59 · 👁 3.1K
whylogs
whylogs — это библиотека для мониторинга и аудита машинного обучения.
Она помогает делать ML системы более прозрачными, стабильными и надёжными за счёт постоянного мониторинга и аудита.
Она используется для того, чтобы:
— Отслеживать статистику и метрики моделей и данных в режиме реального времени.
— Выявлять дрейф данных - изменения в распределении данных со временем.
— Собирать примеры исключений и выбросов.
— Проводить аудит моделей и данных в поисках проблем.
— Генерировать автоматические отчёты и визуализации.
— Интегрировать с MLflow, TensorBoard и другими инструментами.
S
Senior Python Developer
11.09.2026 15:51 · 👁 2.7K
Запрограммируй робота на Python и поборись за призовой фонд трека 7 500 000 руб на True Tech Champ 2026.
Попробуй себя в треке по программированию роботов. Начать проще, чем кажется: зарегистрируйся, собери команду или объединись с другими участниками на платформе и пройди квалификационный этап до 13 сентября. В онлайн-симуляторе тебе предстоит запрограммировать робособаку для доставки груза через полосу препятствий. Количество попыток не ограничено, а еще тебя будет ждать серия обучающих вебинаров.
Лучшие команды пройдут в финал и будут программировать реальных роботов на офлайн-полигоне 22 октября на большой сцене.
Масштабный финал объединит борьбу за призовой фонд, выступления хедлайнеров, доклады спикеров и активности для всех гостей мероприятия.
Рекомендуемые стеки: Go, Java, Python, C#, C++, JS.
Успей зарегистрироваться и пройти квалификацию до 13 сентября.
Erid: 2VSb5yHVG7k