🐍 Singleton в Python: зачем он нужен (и почему, скорее всего, не нужен)
Создание singleton-класса — хороший способ понять, как Python создаёт объекты. Но в реальном коде вам он почти никогда не понадобится.
1️⃣  Что такое Singleton
— Это паттерн проектирования, где класс может создать только один объект.
— Каждый раз, когда вы пытаетесь создать новый экземпляр, вы получаете тот же самый объект.
2️⃣  Когда может пригодиться
Пример из игры:
— Несколько игроков играют одновременно, нужен единственный лидерборд.
— Если каждый создаёт свой экземпляр, смысл таблицы исчезает.
Другие примеры:
— Подключение к базе данных или к железу — только один коннектор
— Логгер или менеджер конфигурации — чтобы был один источник истины
💡  Главная мысль:
Singleton — интересная учебная тема, но в Python чаще находят более простые альтернативы: модуль с функциями, глобальные объекты или dependency injection.
➡️  Подробнее об этом — ссылка на статью
🐸  Библиотека питониста
#буст
Создание singleton-класса — хороший способ понять, как Python создаёт объекты. Но в реальном коде вам он почти никогда не понадобится.
— Это паттерн проектирования, где класс может создать только один объект.
— Каждый раз, когда вы пытаетесь создать новый экземпляр, вы получаете тот же самый объект.
Пример из игры:
— Несколько игроков играют одновременно, нужен единственный лидерборд.
— Если каждый создаёт свой экземпляр, смысл таблицы исчезает.
Другие примеры:
— Подключение к базе данных или к железу — только один коннектор
— Логгер или менеджер конфигурации — чтобы был один источник истины
Singleton — интересная учебная тема, но в Python чаще находят более простые альтернативы: модуль с функциями, глобальные объекты или dependency injection.
#буст
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤4👍1
  Какой необычный тип данных Python был вдохновлён математикой из теории множеств?
  Anonymous Quiz
    5%
    list
      
    5%
    dict
      
    68%
    set
      
    22%
    tuple
      
    ❤3👍2
  🧩 Практика и обучение
— Модуль `json` для начинающих — пошаговое введение в работу с JSON в Python с домашним заданием.
— Асинхронный Python для начинающих — руководство по asyncio с практическим примером и объяснением основных концепций.
— Разбираемся со звёздочками: *args и **kwargs — простое объяснение популярных конструкций Python для передачи аргументов.
⚙️ Алгоритмы и кодинг
— Сравнение алгоритмов сортировки с Pygame-визуализацией — визуальный разбор популярных сортировок и их особенностей на Python.
— 132 строчки, которые рождают математического гипермонстра — креативный проект с Python для генерации сложных математических структур.
— Практическое тестирование приложений на Python — гайд по тестированию с примерами для реальных проектов.
🧠 Задачи и собеседования
— 10 практических задач на Python для новичков — проверка базовых навыков через короткие практические задания.
[Читать](https://habr.com/ru/articles/959786/)
— 10 вопросов на собеседовании Junior Python-разработчика — типичные вопросы и ловушки для начинающих Python-разработчиков.
#свежак
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤5👍4
  Forwarded from Библиотека задач по Data Science | тесты, код, задания
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Forwarded from Библиотека задач по Data Science | тесты, код, задания
  🧠 Готовишься к собесам, а ноутбук еле тянет IDE?
Самое время прокачать скиллы и апгрейднуть железо!
Proglib Academy разыгрывает MacBook Pro 14 (M3 Pro, 36 GB, 1 TB SSD) 💻
Купи любой наш курс до 15 ноября → пройди 2 недели обучения → напиши куратору #розыгрыш. Всё, ты в игре!
📚 Среди курсов:
▫️ Алгоритмы и структуры данных — топ для подготовки к собесам в Яндекс и FAANG.
▫️ Архитектуры и шаблоны проектирования — чтобы думать как senior.
▫️ Python, математика для DS, основы IT и другие направления.
👉 Принять участие
Самое время прокачать скиллы и апгрейднуть железо!
Proglib Academy разыгрывает MacBook Pro 14 (M3 Pro, 36 GB, 1 TB SSD) 💻
Купи любой наш курс до 15 ноября → пройди 2 недели обучения → напиши куратору #розыгрыш. Всё, ты в игре!
📚 Среди курсов:
▫️ Алгоритмы и структуры данных — топ для подготовки к собесам в Яндекс и FAANG.
▫️ Архитектуры и шаблоны проектирования — чтобы думать как senior.
▫️ Python, математика для DS, основы IT и другие направления.
👉 Принять участие
😁6🌚3❤2
  🐍 Вышел pip 25.3 — сборка только по PEP 517 и новые build constraints
Основные нововведения:
1️⃣  Новая опция `--build-constraint`
➡️  Позволяет задавать ограничения для зависимостей только на этапе сборки, не затрагивая обычные install constraints.
2️⃣  Сборка из исходников теперь полностью через PEP 517
➡️  
3️⃣  Editable-установки теперь только по PEP 660
➡️  pip больше не вызывает 
4️⃣  `--dry-run` и `pip lock` стали быстрее
➡️  Если ваш индекс поддерживает метаданные по PEP 658 (например, PyPI), pip больше не скачивает весь пакет, чтобы проверить зависимости.
➡️  Официальный анонс
➡️  Полный changelog
🐸  Библиотека питониста
#свежак
Основные нововведения:
setup.py больше не вызывается напрямую — теперь только официальный интерфейс сборки.setup.py develop. Если вы используете editable с setuptools, обновитесь до v66+.#свежак
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍6❤1
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Tiny8 — это лёгкий toolkit, который позволяет понять, как компьютер работает изнутри:
от моделей памяти и простейшего ассемблера — до структур данных и визуализации выполнения.
Что в нём классного:
— Никаких лишних зависимостей — только чистая логика.
— Минималистичный дизайн, понятный даже новичкам.
— Можно экспериментировать, менять, ломать и смотреть, что произойдёт.
— Визуализация помогает «увидеть» процесс выполнения инструкций.
📱 Github
#буст
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤8👍7🤩2
  В шпаргалке кратко о трёх популярных подходах к ветвлению в Git. Сохраняйте и пользуйтесь!
#буст
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍9❤2👏1
  🎁 Конкурс от Proglib Academy!
Кстати, если кто-то ещё не в курсе — у нас тут раздают MacBook Pro 14.
Да-да, не шутка, настоящий, железный, с M3 Pro
Но! Чтобы успеть пройти 2 недели обучения к 15 ноября, курс нужно взять до конца октября — и сейчас на всё скидка 40%.
Чтобы поучаствовать, нужно:
1️⃣ Покупаешь любой курс до конца октября;
2️⃣ Проходишь 2 недели обучения к 15 ноября;
3️⃣ Написать куратору в чат #розыгрыш.
До 15 ноября, потом всё — поезд (и макбук) уйдёт.
👉 Участвовать в розыгрыше
  Кстати, если кто-то ещё не в курсе — у нас тут раздают MacBook Pro 14.
Да-да, не шутка, настоящий, железный, с M3 Pro
Но! Чтобы успеть пройти 2 недели обучения к 15 ноября, курс нужно взять до конца октября — и сейчас на всё скидка 40%.
Чтобы поучаствовать, нужно:
1️⃣ Покупаешь любой курс до конца октября;
2️⃣ Проходишь 2 недели обучения к 15 ноября;
3️⃣ Написать куратору в чат #розыгрыш.
До 15 ноября, потом всё — поезд (и макбук) уйдёт.
👉 Участвовать в розыгрыше
Please open Telegram to view this post
    VIEW IN TELEGRAM
  😁29💯1
  Свой приватный PyPI-реестр? Легко! 🎉
Питонисты, ловите полезный инсайт. В SourceCraft можно поднять собственный PyPI-реестр для хранения и распространения пакетов внутри команды или компании.
Формат тот же (twine upload, pip install), но пакеты остаются под вашим полным контролем: доступы, токены, история версий — всё централизовано. Идеально для внутренних библиотек, SDK или CLI-утилит. 👍 Сборка в CI/CD пайплайне и автоматическая публикация в ваш реестр — всё настраивается. Разработчики подключаются через PAT-токен.
Больше никакого риска утечки внутреннего кода во внешние каталоги!
Питонисты, ловите полезный инсайт. В SourceCraft можно поднять собственный PyPI-реестр для хранения и распространения пакетов внутри команды или компании.
Формат тот же (twine upload, pip install), но пакеты остаются под вашим полным контролем: доступы, токены, история версий — всё централизовано. Идеально для внутренних библиотек, SDK или CLI-утилит. 👍 Сборка в CI/CD пайплайне и автоматическая публикация в ваш реестр — всё настраивается. Разработчики подключаются через PAT-токен.
Больше никакого риска утечки внутреннего кода во внешние каталоги!
👍9🔥1👏1
  🧪 Pytest Fixtures: как сделать тесты чистыми, переиспользуемыми и модульными
Фикстуры в
Они позволяют:
✔️  Не дублировать код: создаёте данные один раз и используете их в нескольких тестах.
✔️  Переиспользовать данные между модулями: через 
✔️  Параметризовать тесты: 
✔️  Автоматически подключать фикстуры: 
Пример простой фикстуры для пользователя:
Советы по организации фикстур:
✔️  Для маленьких проектов фикстуры можно держать в 
✔️  Для больших проектов удобно создавать отдельную папку 
✔️  Используйте 
✔️  Параметр 
Как используют фикстуры известные проекты:
🔥 Pydantic — держат фикстуры в тестовых модулях, высокая когезия.
🔥 Streamlit — комбинируют unit-тесты и e2e-тесты с фикстурами в
🔥 Hypothesis — генерирует случайные данные для property-based testing.
➡️  Чуть подробнее в полезной статье
🐸  Библиотека питониста
#буст
Фикстуры в
pytest — это мощный инструмент для организации тестовой архитектуры. Они позволяют:
conftest.py фикстуры становятся доступны во всех тестах.params запускает один тест с разными входными данными.autouse=True делает их доступными без явного указания в тестах.Пример простой фикстуры для пользователя:
import pytest
from dataclasses import dataclass
@dataclass
class User:
name: str
email: str
@pytest.fixture()
def user_fixture():
return User(name="Patrick", email="myemail@gmail.com")
def test_valid_user(user_fixture):
assert validate_user(user_fixture).is_valid
def test_valid_email(user_fixture):
assert validate_email(user_fixture).is_valid
Советы по организации фикстур:
conftest.py.fixtures/ и импортировать их в conftest.py.scope (function, module, session) для контроля времени жизни фикстуры.name помогает давать понятные имена фикстурам.Как используют фикстуры известные проекты:
🔥 Pydantic — держат фикстуры в тестовых модулях, высокая когезия.
🔥 Streamlit — комбинируют unit-тесты и e2e-тесты с фикстурами в
conftest.py.🔥 Hypothesis — генерирует случайные данные для property-based testing.
#буст
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍7❤4🔥2
  Pyfory — это реализация Apache Fory™ для Python — универсального фреймворка сериализации, который можно использовать как drop-in замену для
pickle и cloudpickle, но с серьёзными апгрейдами:Основные фичи:
__reduce__, __reduce_ex__, __getstate__⚡️ Быстрее, компактнее и безопаснее — Pyfory делает сериализацию Python-объектов по-настоящему современной.
#буст
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤4👍2
  🎃 Хэллоуин в Proglib Academy: скидки, призы и... немного паники
Сегодня 31 октября, и это не просто время тыкв и призраков, это ПОСЛЕДНИЙ ДЕНЬ, когда ты можешь выиграть макбук!
→ Купи любой курс со скидкой 40% 💸
→ Начни обучение, чтобы пройти 2 недели к 15 ноября 🎓
→ Напиши куратору #розыгрыш ✍️
Всё! Теперь ты в игре.
👉 Сейчас или никогда!
  Сегодня 31 октября, и это не просто время тыкв и призраков, это ПОСЛЕДНИЙ ДЕНЬ, когда ты можешь выиграть макбук!
→ Купи любой курс со скидкой 40% 💸
→ Начни обучение, чтобы пройти 2 недели к 15 ноября 🎓
→ Напиши куратору #розыгрыш ✍️
Всё! Теперь ты в игре.
👉 Сейчас или никогда!
