Что представляют собой метаклассы в Python, как они функционируют и для чего их применять?
Метакласс в Python — это особый класс, который отвечает за создание других классов. Обычно метаклассы применяются, когда необходимо изменить или расширить функциональность классов на этапе их создания. Метакласс управляет процессом формирования класса и может добавлять новые методы, изменять существующие атрибуты или проверять правильность структуры класса.
Метаклассы задаются с помощью ключевого слова metaclass в определении класса. Например, можно создать метакласс, который автоматически добавляет новые методы или атрибуты.
Метакласс в Python — это особый класс, который отвечает за создание других классов. Обычно метаклассы применяются, когда необходимо изменить или расширить функциональность классов на этапе их создания. Метакласс управляет процессом формирования класса и может добавлять новые методы, изменять существующие атрибуты или проверять правильность структуры класса.
Метаклассы задаются с помощью ключевого слова metaclass в определении класса. Например, можно создать метакласс, который автоматически добавляет новые методы или атрибуты.
⚠️ В машинном обучении, как в любви: слишком идеальные предсказания – это подозрительно!
Когда модель слишком прилипчива к тренировочным данным, результат оказывается… ну, как в отношениях, когда всё кажется идеальным, но реальность ломает сердце.
❌ Оверфиттинг (Overfitting) – модель так хорошо запомнила тренировочные данные, что на реальных данных начинает путаться.
💔 В любви: «Я выбрал идеального партнёра по профилю, а в жизни выяснилось, что его «идеальность» – всего лишь иллюзия!»
❌ Андерфиттинг (Underfitting) – модель обучена настолько поверхностно, что предсказывает мэтчи случайным образом.
💔 В любви: «Мне нравятся только люди с именем Александр, а всех остальных я даже не замечаю – бедный фильтр!»
❌ Неправильный выбор фичей (Feature Selection Fail) – если модель опирается на неважные признаки, она предсказывает мэтчи хуже случайности.
💔 В любви: «Ты любишь авокадо? Значит, мы созданы друг для друга!» – а потом оказывается, что это вовсе не про важное.
🎯 На вебинаре мы разобрали, как избежать этих ошибок и создать работающую модель для speed dating, которая на самом деле помогает находить любовь! Вчера мы не просто говорили о любви – мы её предсказывали!
🔥 Спасибо всем, кто был с нами и участвовал!
💘 Как же это было?
Если ты пропустил вебинар или хочешь пересмотреть запись – просто перейди по [ссылке] и получи видео 😉
Когда модель слишком прилипчива к тренировочным данным, результат оказывается… ну, как в отношениях, когда всё кажется идеальным, но реальность ломает сердце.
❌ Оверфиттинг (Overfitting) – модель так хорошо запомнила тренировочные данные, что на реальных данных начинает путаться.
💔 В любви: «Я выбрал идеального партнёра по профилю, а в жизни выяснилось, что его «идеальность» – всего лишь иллюзия!»
❌ Андерфиттинг (Underfitting) – модель обучена настолько поверхностно, что предсказывает мэтчи случайным образом.
💔 В любви: «Мне нравятся только люди с именем Александр, а всех остальных я даже не замечаю – бедный фильтр!»
❌ Неправильный выбор фичей (Feature Selection Fail) – если модель опирается на неважные признаки, она предсказывает мэтчи хуже случайности.
💔 В любви: «Ты любишь авокадо? Значит, мы созданы друг для друга!» – а потом оказывается, что это вовсе не про важное.
🎯 На вебинаре мы разобрали, как избежать этих ошибок и создать работающую модель для speed dating, которая на самом деле помогает находить любовь! Вчера мы не просто говорили о любви – мы её предсказывали!
🔥 Спасибо всем, кто был с нами и участвовал!
💘 Как же это было?
Если ты пропустил вебинар или хочешь пересмотреть запись – просто перейди по [ссылке] и получи видео 😉
🤖 Что делать, если нужно сериализовать данные, которые не поддерживаются стандартным модулем json?
Если нужно сериализовать объекты, которые по умолчанию не поддерживаются модулем json, то есть несколько вариантов:
— Реализовать методы getattr и setattr в классе объекта, чтобы преобразовать его в словарь, который уже можно сериализовать в JSON.
— Использовать декоратор dataclass из модуля dataclasses для автоматической генерации методов сериализации.
— Создать собственный класс-наследник json.JSONEncoder и переопределить метод default(), чтобы указать как сериализовать нестандартные объекты.
— Использовать библиотеку marshmallow для создания схем сериализации/десериализации сложных объектов в JSON.
— Преобразовать объекты в dict или list вручную перед сериализацией с помощью методов объекта или отражения (reflection).
— Использовать другой формат сериализации, например YAML или MessagePack, который может поддерживать произвольные типы.
Если нужно сериализовать объекты, которые по умолчанию не поддерживаются модулем json, то есть несколько вариантов:
— Реализовать методы getattr и setattr в классе объекта, чтобы преобразовать его в словарь, который уже можно сериализовать в JSON.
— Использовать декоратор dataclass из модуля dataclasses для автоматической генерации методов сериализации.
— Создать собственный класс-наследник json.JSONEncoder и переопределить метод default(), чтобы указать как сериализовать нестандартные объекты.
— Использовать библиотеку marshmallow для создания схем сериализации/десериализации сложных объектов в JSON.
— Преобразовать объекты в dict или list вручную перед сериализацией с помощью методов объекта или отражения (reflection).
— Использовать другой формат сериализации, например YAML или MessagePack, который может поддерживать произвольные типы.
Назовите примеры изменяемых и неизменяемых объектов.
Неизменяемые объекты нельзя изменить после создания, примеры — строки, кортежи, int, float. Противоположны им изменяемые объекты, например list, dict, set.
Неизменяемые объекты нельзя изменить после создания, примеры — строки, кортежи, int, float. Противоположны им изменяемые объекты, например list, dict, set.
Forwarded from Библиотека питониста | Python, Django, Flask
📢 Где «выстрелит» твой стартап: 8 площадок для запуска и продвижения IT-проекта
Собрали для тебя проверенные места, где можно бесплатно показать свой продукт первым пользователям и даже найти инвестора. Работает как для зарубежного, так и для российского рынка.
👍 Ссылка на статью: https://proglib.io/sh/LrcFGsnuyU
Собрали для тебя проверенные места, где можно бесплатно показать свой продукт первым пользователям и даже найти инвестора. Работает как для зарубежного, так и для российского рынка.
👍 Ссылка на статью: https://proglib.io/sh/LrcFGsnuyU
Что не так с приведённым кодом?
В Python переменные не объявляются заранее, поэтому интерпретатор самостоятельно определяет их область видимости. Если внутри функции используется переменная, она считается локальной. В данном случае переменная count является глобальной, что приводит к возникновению ошибки в коде.
В Python переменные не объявляются заранее, поэтому интерпретатор самостоятельно определяет их область видимости. Если внутри функции используется переменная, она считается локальной. В данном случае переменная count является глобальной, что приводит к возникновению ошибки в коде.
Как получить текущее имя пользователя в Python?
Модуль os в Python предлагает функции для взаимодействия с операционной системой и является частью стандартной библиотеки Python. Этот модуль обеспечивает кроссплатформенный доступ к функциям, зависящим от операционной системы.
Метод
Модуль os в Python предлагает функции для взаимодействия с операционной системой и является частью стандартной библиотеки Python. Этот модуль обеспечивает кроссплатформенный доступ к функциям, зависящим от операционной системы.
Метод
os.getlogin()
в Python позволяет узнать имя пользователя, который вошел в систему через управляющий терминал процесса.❗Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
job.proglib.io
Вакансии в медиа «Библиотека программиста»
Количество проектов в редакции постоянно растет, так что нам всегда нужны специалисты
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🐳 Делаем конкурента DeepSeek R1-Zero на домашней пекарне: метод GRPO в Unsloth
Обычно LLM требуют мощных GPU, но теперь даже на видеокарте с ограниченной памятью можно обучать модели логического рассуждения.
💡 Фишка — новый алгоритм GRPO, который позволяет моделям развивать логическое мышление без вмешательства человека.
Подробнее в нашей статье: https://proglib.io/sh/MyBCbq9is5
Обычно LLM требуют мощных GPU, но теперь даже на видеокарте с ограниченной памятью можно обучать модели логического рассуждения.
💡 Фишка — новый алгоритм GRPO, который позволяет моделям развивать логическое мышление без вмешательства человека.
Подробнее в нашей статье: https://proglib.io/sh/MyBCbq9is5
Какова роль параметров _value и __value?
_value
— одинарное подчеркивание в начале имени указывает на то, что этот параметр не предназначен для использования за пределами функции. Это всего лишь соглашение, а не строгое правило языка.__value
— двойное подчеркивание обозначает, что это имя зарезервировано Python для специальных целей, таких как init для конструктора класса. Такие параметры могут выполнять дополнительные функции.✍️ Что такое RPC?
RPC, или удаленный вызов процедур, — это механизм для вызова процедур или функций, расположенных на другом компьютере в сети. Он позволяет вызывать код на удаленном компьютере так, как будто этот код находится локально.
Основная идея RPC заключается в том, чтобы скрыть детали сетевого взаимодействия от разработчика. Разработчику кажется, что он просто вызывает локальную функцию, хотя на самом деле происходит удаленный вызов через сеть.
RPC широко используется в распределенных системах для организации взаимодействия между отдельными компонентами. Например, в микросервисной архитектуре для вызова сервисов друг из друга.
RPC, или удаленный вызов процедур, — это механизм для вызова процедур или функций, расположенных на другом компьютере в сети. Он позволяет вызывать код на удаленном компьютере так, как будто этот код находится локально.
Основная идея RPC заключается в том, чтобы скрыть детали сетевого взаимодействия от разработчика. Разработчику кажется, что он просто вызывает локальную функцию, хотя на самом деле происходит удаленный вызов через сеть.
RPC широко используется в распределенных системах для организации взаимодействия между отдельными компонентами. Например, в микросервисной архитектуре для вызова сервисов друг из друга.
Совет на 2025-й — будьте осторожнее с выбором работы.
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
Forwarded from Proglib.academy | IT-курсы
Big Data и Data Science применяются не только в IT-гигантах, но и в некоммерческом секторе, где технологии анализа данных помогают оптимизировать работу организаций, собирать средства и оказывать помощь эффективнее.
▪️ Как некоммерческие организации используют Data Science.
▪️ Оптимизация фондов и финансирования с помощью аналитики.
▪️ Роль прогнозных моделей в благотворительности.
▪️ Кейсы Amnesty International, Khan Academy и DataKind.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека питониста | Python, Django, Flask
AI-интервью, которое тебя не завалит ❌
🔹 Никаких каверзных вопросов
🔹 Никакой оценки "на глаз"
🔹 Только объективная обратная связь
Как попробовать?
1️⃣ Зарегистрируйся на платформе
2️⃣ Авторизуйся через Телеграм
3️⃣ Пройди AI-интервью
💡 AI-рекрутер анализирует твои ответы и сразу даёт тебе разбор:
✔️ Что ты сделал хорошо
✔️ Где можно подтянуть навыки
А еще порекомендует вакансию от СБера по твоему профилю
📌 Пройди AI-интервью за 15 минут и получи разбор своих ответов сразу!
🔗 Попробуй прямо сейчас! 👉 https://clc.to/GkOTTA
Реклама. ПАО СБЕРБАНК, ИНН 7707083893. Erid 2VtzqxJV1cA
🔹 Никаких каверзных вопросов
🔹 Никакой оценки "на глаз"
🔹 Только объективная обратная связь
Как попробовать?
1️⃣ Зарегистрируйся на платформе
2️⃣ Авторизуйся через Телеграм
3️⃣ Пройди AI-интервью
💡 AI-рекрутер анализирует твои ответы и сразу даёт тебе разбор:
✔️ Что ты сделал хорошо
✔️ Где можно подтянуть навыки
А еще порекомендует вакансию от СБера по твоему профилю
📌 Пройди AI-интервью за 15 минут и получи разбор своих ответов сразу!
🔗 Попробуй прямо сейчас! 👉 https://clc.to/GkOTTA
Реклама. ПАО СБЕРБАНК, ИНН 7707083893. Erid 2VtzqxJV1cA
📊 Как себя чувствует IT-рынок в 2025 году?
Друзья, запускаем важное исследование рынка труда в IT!
Нам очень важно понять:
• Как изменились зарплаты
• Что происходит с наймом
• Есть ли сокращения или рост
🔐 Опрос полностью анонимный
⏱️ Займёт всего 3-5 минут
📈 Результаты опубликуем в подробной статье
Ваши ответы помогут составить реальную картину происходящего в индустрии.
👉 Пройти опрос
Друзья, запускаем важное исследование рынка труда в IT!
Нам очень важно понять:
• Как изменились зарплаты
• Что происходит с наймом
• Есть ли сокращения или рост
🔐 Опрос полностью анонимный
⏱️ Займёт всего 3-5 минут
📈 Результаты опубликуем в подробной статье
Ваши ответы помогут составить реальную картину происходящего в индустрии.
👉 Пройти опрос
Проверьте свои знания, ответив на 8 вопросов – https://proglib.io/w/e90e2af1
🧐 Кому подойдет?
Разработчикам, которые знают любой объектно-ориентированный язык программирования и хотят углубиться в архитектурные паттерны.
🎮 Как проходит обучение?
В течение всего интенсива вы будете создавать игру «Звездные войны» и применять ключевые архитектурные паттерны. В процессе изучите:
– Как строить гибкую архитектуру, которая не замедляет разработку
– Как применять IoC-контейнеры и писать модульные тесты
– Как использовать SOLID за пределами ООП
– Как внедрять CI/CD и снижать технический долг
👉 Подробная программа обучения
А по промокоду
Please open Telegram to view this post
VIEW IN TELEGRAM
Что будет, если ошибку не обработает блок except?
Если ошибка не будет обработана в блоке except, то программа прервется и выдаст сообщение об ошибке. Это называется необработанным исключением.
При возникновении исключения Python генерирует traceback — последовательность вызовов функций, которая привела к ошибке.
Если исключение не перехватывается блоком except, то traceback выводится пользователю и программа завершается аварийно.
Если ошибка не будет обработана в блоке except, то программа прервется и выдаст сообщение об ошибке. Это называется необработанным исключением.
При возникновении исключения Python генерирует traceback — последовательность вызовов функций, которая привела к ошибке.
Если исключение не перехватывается блоком except, то traceback выводится пользователю и программа завершается аварийно.
🤖 Как работают менеджеры контекста в Python, и в каких случаях их полезно использовать?
Менеджеры контекста используются для управления ресурсами, такими как файлы, сетевые подключения или блокировки, с автоматическим освобождением этих ресурсов по завершении работы. Основное их применение — в тех случаях, когда требуется гарантированное освобождение ресурсов, даже в случае возникновения ошибок. Менеджеры контекста создаются с помощью ключевого слова with, которое автоматически вызывает методы __enter__ и __exit__ у объекта.
Пример использования ⚙️
Менеджеры контекста используются для управления ресурсами, такими как файлы, сетевые подключения или блокировки, с автоматическим освобождением этих ресурсов по завершении работы. Основное их применение — в тех случаях, когда требуется гарантированное освобождение ресурсов, даже в случае возникновения ошибок. Менеджеры контекста создаются с помощью ключевого слова with, которое автоматически вызывает методы __enter__ и __exit__ у объекта.
Пример использования ⚙️
# Пример менеджера контекста для работы с файлами
with open('example.txt', 'w') as file:
file.write('Hello, world!')
# Файл автоматически закроется после выхода из блока 'with', даже если возникнет ошибка
Forwarded from Proglib.academy | IT-курсы
Мы разберем, почему компании, которые массово увольняют разработчиков в пользу ИИ, рискуют остаться у разбитого корыта. Сгенерированный код не умеет исправлять баги, а инженеры, которые действительно понимают систему, становятся редкостью и роскошью.
▪️ Почему новые поколения программистов рискуют потерять ключевые навыки.
▪️ Как компании, заменившие инженеров ИИ, столкнутся с серьезными проблемами.
▪️ Почему опытные разработчики станут супердорогими и востребованными.
▪️ К чему приведет полная ставка на искусственный интеллект в IT.
🔗 Читайте статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Основы математики в Machine Learning / Deep Learning
🗓 6 марта приглашаем вас на прямой эфир, где мы подробно разберем ряд Тейлора, собственные векторы и другие ключевые понятия в ML.
(ссылка)
🌟 Спикер: *Мария Горденко* – Старший преподаватель ФКН НИУ ВШЭ, НИТУ МИСИС, аспирант департамента анализа данных и искусственного интеллекта ФКН НИУ ВШЭ, а также преподаватель на курсе Алгоритмы и структуры данных в proglib academy.
Место работы: Инженер-программист, ведущий эксперт НИУ ВШЭ, цифровой ассистент и цифровой консультант НИУ ВШЭ.
😮 На вебинаре вы узнаете:
🔵 Теорию вероятностей: обсудим случайные величины, вероятность, математическое ожидание и дисперсию.
🔵 Линейную алгебру: изучим векторы, матрицы, собственные векторы и собственные значения.
🔵 Математический анализ: разберем производные и разложение функций в ряд Тейлора.
🔵 Практику: применим полученные знания на реальных кейсах из области Machine Learning и Deep Learning.
🎯 Почему это важно?
Понимание математических основ помогает глубже разобраться в работающих под капотом алгоритмах ML/DL и эффективно применять их на практике.
👉 Присоединяйтесь к нам и совершенствуйте свои навыки в машинном обучении!
📌 Регистрация по ссылке: https://proglib.io/w/1957f6af
🗓 6 марта приглашаем вас на прямой эфир, где мы подробно разберем ряд Тейлора, собственные векторы и другие ключевые понятия в ML.
(ссылка)
🌟 Спикер: *Мария Горденко* – Старший преподаватель ФКН НИУ ВШЭ, НИТУ МИСИС, аспирант департамента анализа данных и искусственного интеллекта ФКН НИУ ВШЭ, а также преподаватель на курсе Алгоритмы и структуры данных в proglib academy.
Место работы: Инженер-программист, ведущий эксперт НИУ ВШЭ, цифровой ассистент и цифровой консультант НИУ ВШЭ.
😮 На вебинаре вы узнаете:
🔵 Теорию вероятностей: обсудим случайные величины, вероятность, математическое ожидание и дисперсию.
🔵 Линейную алгебру: изучим векторы, матрицы, собственные векторы и собственные значения.
🔵 Математический анализ: разберем производные и разложение функций в ряд Тейлора.
🔵 Практику: применим полученные знания на реальных кейсах из области Machine Learning и Deep Learning.
🎯 Почему это важно?
Понимание математических основ помогает глубже разобраться в работающих под капотом алгоритмах ML/DL и эффективно применять их на практике.
👉 Присоединяйтесь к нам и совершенствуйте свои навыки в машинном обучении!
📌 Регистрация по ссылке: https://proglib.io/w/1957f6af