en
Feedback
Python: задачки и вопросы

Python: задачки и вопросы

Open in Telegram

Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media

Show more
6 961
Subscribers
-124 hours
-47 days
-5630 days
Posts Archive
Хеллман Д. Стандартная библиотека Python 3, глава 1: «Отсутствие в словаре значения для переменной missing приводит к тому, что метод substitute() возбуждает исключение KeyError. В то же время метод safe substitute() вместо возбуждения исключения перехватывает его и оставляет в тексте само выражение переменной». «Ключевым отличием шаблонов от строковых подстановок (интерполяции) и форматирования с помощью метода format() является то, что они не учитывают тип аргументов. Значения преобразуются в строки, а строки вставляются в результат. Опции форматирования полностью отсутствуют. Например, не существует способа управлять количеством цифр, используемых для представления значений с плавающей запятой. Однако шаблоны обладают тем неоспоримым преимуществом, что использование их метода safe_substitute() позволяет избежать возникновения исключений в тех случаях, когда не все значения, в которых нуждаются шаблоны, представлены аргументами».

🧩 Что выведет код?
Anonymous voting

Вопрос: Что объединяет async-архитектуры, продакшн ML, костыль, который стал фреймворком и код, за который не стыдно? Ответ:
Вопрос: Что объединяет async-архитектуры, продакшн ML, костыль, который стал фреймворком и код, за который не стыдно? Ответ: всё это — темы докладов на PyCon Russia 2025. Самая крупная Python-конференция в стране — уже через неделю! 25–26 июля, Москва • 2 насыщенных трека — Python и Data • 3 воркшопа • Афтепати после первого дня Хочешь встретиться с теми, кто пишет, дебажит, рефакторит и любит Python, вживую? Это твой шанс. Вся программа и билеты на сайте, а общение в чате PyCon. (и да, обещают, на входе не будет вопросов по PEP8) Это #партнёрский пост

Марк Лутц, «Изучаем Python», часть VI, глава 30: «Перегрузка операций должна представляться, когда класс естественным образом согласуется с интерфейсами встроенного типа или должен их эмулировать. Коллекции могут имитировать интерфейсы последовательностей или отображений, а вызываемые объекты могут быть реализованы для использования с API-интерфейсом, который ожидает функцию. Однако в целом вы не должны реализовывать операции выражений, если они естественно и логически не подходят для ваших объектов — взамен применяйте нормально именованные методы». — Point - логичная перегрузка + (сложение координат точек) — Person - нелогичная перегрузка + (сложение людей не имеет математического смысла), но код работает и возвращает строку Этот пример демонстрирует принцип: перегружайте операции, только когда это логично и естественно для ваших объектов.

🪤 Что выведет код?
Anonymous voting

Документация Python: «object.__getitem__(self, key) Вызывается для вычисления self[key]. Для типов последовательностей принимаемые ключи должны быть целыми числами. При необходимости они могут также поддерживать объекты срезов. Поддержка отрицательных индексов также необязательна». Нарезание перехватывается методом индексирования__getitem__: он вызывается с объектом среза, а не с простым целочисленным индексом, и при необходимости объекты срезов можно передавать или ожидать.

🪤 Что выведет код?
Anonymous voting

Марк Лутц, «Изучаем Python», часть VI, глава 30: Методы __str__ и ___герг__ реализуют отображения объектов при выводе. Первый вызывается встроенными функциями print и str; второй вызывается print и str, если отсутствует __str__, и всегда вызывается встроенной функцией __repr__, при эхо-выводе в интерактивной подсказке и для вложенных появлений. То есть метод __герг__ применяется везде, исключая print и str, когда определен метод __str__. Метод __str__ обычно используется для отображений, дружественных к пользователю, а __герг__ предоставляет для объекта дополнительные детали или форму как в коде.

Какие методы перегрузки операций обрабатывают вывод?
Anonymous voting

Repost from Код найма
Отдаю свой голос...
Anonymous voting

Некогда объяснять, пора вершить судьбы 😱 Три разраба прямо сейчас ищут работу — выбери того, кто получит шанс на достойный оффер. Голосуй прямо сейчас! Все подробности в «Коде найма».

Марк Лутц, «Изучаем Python», часть VI, глава 30: Классы могут поддерживать итерацию путем определения (или наследования) метода getitem или iter. Во всех итерационных контекстах Python сначала пытается применить метод iter, возвращающий объект, который поддерживает протокол итерации с помощью метода next: если поиск в иерархии наследования не привел к нахождению метода iter, тогда Python прибегает к методу индексирования__getitem__, многократно вызывая его с последовательно увеличивающимися индексами. В случае использования оператора yield метод next может быть создан автоматически.

Какие метод перегрузки операций можно использовать для поддержки итерации в классах?
Anonymous voting

Пасхавер Б. Pandas в действии, Часть I, глава 3: Метод nlargest возвращает максимальные значения из объекта Series. Первый его параметр, n, задает число возвращаемых записей. Аргумент по умолчанию параметра n равен 5. Библиотека pandas cортирует значения в возвращаемом объекте Series в порядке убывания: google.nlargest(n = 5) google.nlargest()

🧩 Сколько элементов выведет nlargest()?
Anonymous voting