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

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

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish
6 961
Obunachilar
-124 soatlar
-67 kunlar
-5630 kunlar
Postlar arxiv
🪤 Что выведет код?
Anonymous voting

В этой задаче мы имеем дело с концепцией Метаклассов. При выполнении 𝚌𝚕𝚊𝚜𝚜 𝙴𝚐𝚐𝚜(𝚖𝚎𝚝𝚊𝚌𝚕𝚊𝚜𝚜=𝙼𝚎𝚝𝚊𝙵𝚞𝚗𝚌): происходит следующее: 🔘 Вызывается функция 𝙼𝚎𝚝𝚊𝙵𝚞𝚗𝚌 с тремя обязательными аргументами: − 𝚌𝚕𝚊𝚜𝚜𝚗𝚊𝚖𝚎: строка «𝙴𝚐𝚐𝚜» − 𝚜𝚞𝚙𝚎𝚛𝚜: кортеж родительских классов (<𝚌𝚕𝚊𝚜𝚜 '𝚘𝚋𝚓𝚎𝚌𝚝'>,) − 𝚌𝚕𝚊𝚜𝚜𝚍𝚒𝚌𝚝: словарь атрибутов класса, содержащий '__𝚖𝚘𝚍𝚞𝚕𝚎__', '__𝚚𝚞𝚊𝚕𝚗𝚊𝚖𝚎__', '𝚍𝚊𝚝𝚊': 𝟸 и '𝚖𝚎𝚝𝚑' 🔘 Функция модифицирует словарь атрибутов: 𝚌𝚕𝚊𝚜𝚜𝚍𝚒𝚌𝚝['𝚍𝚊𝚝𝚊'] = 𝟷 🔘 Функция возвращает объект класса, созданный с помощью 𝚝𝚢𝚙𝚎(𝚌𝚕𝚊𝚜𝚜𝚗𝚊𝚖𝚎, 𝚜𝚞𝚙𝚎𝚛𝚜, 𝚌𝚕𝚊𝚜𝚜𝚍𝚒𝚌𝚝) 🔘 Создается экземпляр 𝚇 класса 𝙴𝚐𝚐𝚜 🔘 Выводится значение атрибута 𝚍𝚊𝚝𝚊 экземпляра (которое теперь равно 𝟷, а не 𝟸) Функция 𝙼𝚎𝚝𝚊𝙵𝚞𝚗𝚌 является «простейшей (и вполне законной) версией метакласса, которая позволяет перехватить процесс создания класса и модифицировать его атрибуты перед созданием. В данном случае метакласс изменяет значение атрибута 𝚍𝚊𝚝𝚊 с 𝟸 на 𝟷, демонстрируя возможность динамической модификации класса во время его создания.

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

Классы представляют собой экземпляры класса 𝚝𝚢𝚙𝚎, в точности как нормальные экземпляры являются экземплярами класса, определённого пользователем. Это работает одинаково для встроенных типов и типов классов, определённых пользователями: классы вообще не считаются отдельной концепцией; они представляют собой просто обычные экземпляры особых типов и при их определении используется метакласс 𝚝𝚢𝚙𝚎. 𝚝𝚢𝚙𝚎(𝙼𝚢𝙲𝚕𝚊𝚜𝚜) возвращает <𝚌𝚕𝚊𝚜𝚜 '𝚝𝚢𝚙𝚎'> — это показывает, что сам класс 𝙼𝚢𝙲𝚕𝚊𝚜𝚜 является экземпляром класса 𝚝𝚢𝚙𝚎 Марк Лутц «Изучаем Python», глава 40: «Классы представляют собой экземпляры класса 𝚝𝚢𝚙𝚎». Это означает, что 𝚝𝚢𝚙𝚎 является не только встроенным классом, но и метаклассом: классом, экземплярами которого являются другие классы. Фактически 𝚖𝚎𝚝𝚊𝚌𝚕𝚊𝚜𝚜 — это просто фабрика классов, и благодаря тому, что классы являются экземплярами класса 𝚝𝚢𝚙𝚎, возможно создание собственных подклассов 𝚝𝚢𝚙𝚎 (называемых метаклассами) для генерации классов особого вида.

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

Из документации Python: Флаг −𝙾 в команде «𝚙𝚢𝚝𝚑𝚘𝚗 −𝙾 𝚖𝚊𝚒𝚗.𝚙𝚢» выполняет следующие действия: 🔘 Удаляет операторы 𝚊𝚜𝚜𝚎𝚛𝚝 и любой код, зависящий от значения 𝚍𝚎𝚋𝚞𝚐 🔘 Добавляет .𝚘𝚙𝚝−𝟷 к именам скомпилированных (байт−код) файлов перед расширением .𝚙𝚢𝚌 Это позволяет создавать оптимизированный байт−код без отладочной информации и проверок 𝚊𝚜𝚜𝚎𝚛𝚝.

🧩 Что делает флаг -O в команде 'python -O main.py'?
Anonymous voting

В данном коде используется декоратор 𝚛𝚊𝚗𝚐𝚎𝚝𝚎𝚜𝚝 с аргументами для проверки диапазонов значений параметров функции. Марк Лутц «Изучаем Python», глава 𝟹𝟿: «Аннотации функций ... можно бы предложить альтернативу — аргументы декоратора, используемые в примере для задания проверок вложения в диапазон». Декоратор @𝚛𝚊𝚗𝚐𝚎𝚝𝚎𝚜𝚝(𝚊=(𝟷, 𝟻), 𝚌=(𝟶.𝟶, 𝟷.𝟶)) принимает аргументы для проверки диапазонов: 🔘 параметр 𝚊 должен находиться в диапазоне от 𝟷 до 𝟻 (не включительно) 🔘 параметр 𝚌 должен находиться в диапазоне от 𝟶.𝟶 до 𝟷.𝟶 (не включительно) В данной реализации декоратор является «пустым» — он принимает аргументы, но не выполняет никаких проверок, просто возвращает исходную функцию без изменений. При вызове 𝚏𝚞𝚗𝚌(𝟸, 𝟹, 𝟶.𝟻) функция выполняется с параметрами: − 𝚊 = 𝟸 − 𝚋 = 𝟹 − 𝚌 = 𝟶.𝟻 Функция вычисляет и выводит результат: 𝟸 + 𝟹 + 𝟶.𝟻 = 𝟻.𝟻.

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

Атрибут 𝚌𝚘𝚍𝚎 объекта функции предоставляет доступ к объекту кода, который содержит метаданные о функции, включая информацию о локальных переменных и аргументах. Из документации Python: «𝚌𝚘𝚍𝚎𝚘𝚋𝚓𝚎𝚌𝚝.𝚌𝚘_𝚟𝚊𝚛𝚗𝚊𝚖𝚎𝚜: кортеж, содержащий имена локальных переменных в функции (начиная с имен параметров)». В 𝚏𝚞𝚗𝚌() определены: − Аргументы: 𝚊, 𝚋 − Локальные переменные: 𝚌, 𝚍 𝚌𝚘𝚍𝚎.𝚌𝚘_𝚟𝚊𝚛𝚗𝚊𝚖𝚎𝚜 — все имена локальных переменных. Этот атрибут возвращает кортеж всех локальных переменных функции, включая аргументы и переменные, определенные внутри функции.

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

Борис Пасхавер, «Pandas в действии», глава 3: С помощью параметра 𝚞𝚜𝚎𝚌𝚘𝚕𝚜 функции 𝚛𝚎𝚊𝚍_𝚌𝚜𝚟 можно указать список импортируемых библиотекой 𝚙𝚊𝚗𝚍𝚊𝚜 столбцов.

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

😊 Как организовать работу с данными, чтобы не утонуть в бюрократии? 😊 Какие подводные камни ждут при миграции всего банка в
😊 Как организовать работу с данными, чтобы не утонуть в бюрократии? 😊 Какие подводные камни ждут при миграции всего банка в облако? 😊 Как силами NLP в 30 раз ускорить обработку клиентских обращений? В гайдах для начинающих на такие вопросы вряд ли найдется ответ. А вот в телеграм-канале OTP Tech точно найдется наглядный разбор. В OTP Tech вы получите реальный опыт внедрения сложных решений в продакшен крупного финтеха. Ну и просто фановый интерактив, который поможет разгрузить голову. Если вы разрабатываете, проектируете или администрируете и хотите смотреть дальше хеллоу ворлдов — вам будет здесь интересно. Присоединяйтесь: @otp_tech