🐍 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💯3
🧪 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
👍8❤4🔥4
Pyfory — это реализация Apache Fory™ для Python — универсального фреймворка сериализации, который можно использовать как drop-in замену для
pickle и cloudpickle, но с серьёзными апгрейдами:Основные фичи:
__reduce__, __reduce_ex__, __getstate__⚡️ Быстрее, компактнее и безопаснее — Pyfory делает сериализацию Python-объектов по-настоящему современной.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3🔥1
🎃 Хэллоуин в Proglib Academy: скидки, призы и... немного паники
Сегодня 31 октября, и это не просто время тыкв и призраков, это ПОСЛЕДНИЙ ДЕНЬ, когда ты можешь выиграть макбук!
→ Купи любой курс со скидкой 40% 💸
→ Начни обучение, чтобы пройти 2 недели к 15 ноября 🎓
→ Напиши куратору #розыгрыш ✍️
Всё! Теперь ты в игре.
👉 Сейчас или никогда!
Сегодня 31 октября, и это не просто время тыкв и призраков, это ПОСЛЕДНИЙ ДЕНЬ, когда ты можешь выиграть макбук!
→ Купи любой курс со скидкой 40% 💸
→ Начни обучение, чтобы пройти 2 недели к 15 ноября 🎓
→ Напиши куратору #розыгрыш ✍️
Всё! Теперь ты в игре.
👉 Сейчас или никогда!
Media is too big
VIEW IN TELEGRAM
Не ждали, а она тут — новая версия Python 3.14 🚀
И лучше просто кликнуть сейчас по ссылке и послушать краткий обзор от Евгения Афонасьева, тимлида разработки Antifraud в Авито, чем потом упускать полезные фичи и искать этот пост.
В ролике разобрали как небольшие обновления, так и те, что лучше внедрять в свою работу уже сейчас.
📺 Смотрим и обсуждаем по ссылке!
И лучше просто кликнуть сейчас по ссылке и послушать краткий обзор от Евгения Афонасьева, тимлида разработки Antifraud в Авито, чем потом упускать полезные фичи и искать этот пост.
В ролике разобрали как небольшие обновления, так и те, что лучше внедрять в свою работу уже сейчас.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17❤5🥱2
Почему фреймворк Django получил именно такое название?
Anonymous Quiz
13%
В честь персонажа из фильма Квентина Тарантино
35%
Это аббревиатура от “Dynamic JSON Application Generator”
45%
В честь джазового гитариста Джанго Рейнхардта
8%
Это случайное имя из списка генератора проектов Python
❤4
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
👍3