Telegram Web Link
🤓 Вопросы подписчиков: как перейти от Jupyter Notebooks к продакшн-коду?

Сегодня мы делимся вопросом от подписчика, который учился и разрабатывал проекты в Anaconda Notebooks, но стремится выйти на новый уровень и освоить написание продакшн-кода на Python.

💬 Он пишет:
Я начинал учиться и программировать в Anaconda Notebooks — это отличный инструмент для учебы и исследований. Однако в индустрии подход к коду совсем другой. Там он структурирован: используются субпапки, главный .py-файл объединяет всё, а развертывание, API и тесты разнесены по отдельным директориям. Это как готовое здание с надежным фундаментом и продуманной структурой, где все части взаимосвязаны.

Если вы работаете с Python в индустрии, не могли бы вы посоветовать, как перейти от стиля работы в ноутбуках к созданию продакшн-кода?


✌️ Делитесь своими советами в комментариях!

P.S. Если хотите задать вопрос, заполните нашу гугл-форму. Это займет 5 минут.

Библиотека питониста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔝 Команда дня: разбираем `functools.partial` в Python

Модуль functools в Python содержит полезный инструмент — ctools, который позволяет создавать новые функции, фиксируя часть аргументов уже существующей функции. Это называется частичное применение функций.

🔹 Как это работает?

С помощью partial можно «заморозить» часть аргументов, чтобы создать новую функцию с меньшим числом входных параметров.

📌 Пример: фиксируем аргумент
from functools import partial

def multiply(x, y):
return x * y

double = partial(multiply, 2) # "Фиксируем" x как 2

print(double(5)) # Вывод: 10 (2 * 5)


Теперь double(5) эквивалентно multiply(2, 5), потому что 2 уже зафиксировано.

📌 Пример: фиксируем именованные аргументы
def greet(name, greeting="Hello"):
return f"{greeting}, {name}!"

say_hi = partial(greet, greeting="Hi")
print(say_hi("Alice")) # Вывод: Hi, Alice!


Теперь say_hi("Alice") всегда будет использовать "Hi" в качестве приветствия.

🔹 Зачем использовать partial?

— Упрощает код и уменьшает дублирование.
— Делает функции удобнее для повторного использования.
— Полезен в обработчиках событий и коллбэках.

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Открыт прием заявок на Google Summer of Code 2025

С 2005 года эта программа помогает студентам и начинающим разработчикам погрузиться в реальный мир программирования, работая над крутыми проектами.

📅 Дедлайн подачи заявок: 8 апреля 2025 года.
📍 Подробности и форма заявки: https://clc.to/6wAHEg

Библиотека питониста #свежак
Зимний режим OFF. Весна начинается с апгрейда.

Если чувствуешь, что за зиму навыки подзастыли — пора их разморозить.

📦 Включили весеннюю распродажу: скидка –35% на курсы до конца марта.

Выбирай направление и выходи из спячки:

— Алгоритмы и структуры данных — чтобы собеседования в Яндекс, Ozon и другие были как уровень easy

— Математика для Data Science — для тех, кто не хочет просто «жать на кнопки», а понимать, что под капотом

— Архитектуры и шаблоны — если хочется мыслить как senior и прокачать системное мышление

— Python, Frontend, основы IT — для тех, кто стартует путь в разработке

👾 Proglib Academy — это как старая добрая 8-битная игра, но вместо врагов — практические задачи и собеседования.

Мы просто упаковали сложное обучение в пиксельную обёртку, чтобы тебе было чуть веселее прокачиваться.

🧠 Отогревай мозги, прокачивай скиллы и хватай свой power-up до конца марта.

👉 Выбрать курс
🥇 Прокачай Power BI: создаем bullet-chart для наглядного сравнения данных

🎯 Устали от вопросов типа «Ну и что это значит для бизнеса?» после презентации отчетов?

Bullet-chart — мощный инструмент, который сразу показывает, насколько фактические показатели соответствуют целевым. В этой статье разберем, как правильно читать такой график и шаг за шагом создадим его в Power BI.

Готовы визуализировать данные так, чтобы они говорили сами за себя?

👍 Тогда поехали, ссылка на статью: https://proglib.io/sh/hcrRdAuqT5

Библиотека дата-сайентиста
Когда твоя программа работает, но ты знаешь, что внутри 😏

Библиотека питониста #развлекалово
💬 Холивар: Python-разработка — строгая структура или гибкость?

Python — гибкий язык, и писать на нём можно в разных парадигмах. Но что удобнее, понятнее и «правильнее»?


1️⃣ ООП — классы, инкапсуляция, строгая архитектура. Подходит для больших проектов, когда важна масштабируемость и организация кода:
class NumberProcessor:
def __init__(self, numbers):
self.numbers = numbers

def filter_even(self):
self.numbers = [n for n in self.numbers if n % 2 == 0]
return self

def square(self):
self.numbers = [n**2 for n in self.numbers]
return self

def get_result(self):
return self.numbers

processor = NumberProcessor([1, 2, 3, 4, 5, 6])
result = processor.filter_even().square().get_result()
print(result) # [4, 16, 36]


2️⃣ Функциональный стиль — чистые функции, минимум побочных эффектов, иммутабельность данных. Удобно для работы с данными и параллельных вычислений:
from functools import reduce

def filter_even(numbers):
return list(filter(lambda x: x % 2 == 0, numbers))

def square(numbers):
return list(map(lambda x: x**2, numbers))

numbers = [1, 2, 3, 4, 5, 6]
result = square(filter_even(numbers))
print(result) # [4, 16, 36]


3️⃣ Простой скриптинг — главное, чтобы код работал! Идеально для быстрого прототипирования и автоматизации:
numbers = [1, 2, 3, 4, 5, 6]
result = [n**2 for n in numbers if n % 2 == 0]
print(result) # [4, 16, 36]


Какой стиль ближе? Выбирайте свой лагерь и аргументируйте в комментах! 👇

👍 ООП — потому что читаемо и поддерживаемо
❤️ Функциональный стиль — минимум багов и максимум эффективности
🔥 Скрипты — зачем усложнять, если можно просто?

Библиотека питониста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🐍 Python новости

🚀 Релизы и инструменты:
IPython 9— новые возможности интерактивной оболочки
Mesop 1.0 — новый UI-фреймворк на Python для веб-приложений
Flet — фреймворк для кроссплатформенных мобильных и десктопных приложений

🔬 Глубже в Python:
Removing deprecated config format? Что может пойти не так? — удаление устаревших конфигураций в setuptools вызвало проблемы (но уже откатили)
Django Template Components — новый подход к компонентам в Django
Smoke-тестирование Django Admin — защита от неожиданных ошибок

📚 Обучение и лучшие практики:
Как уменьшить размер Docker-образа на 80%
Poetry, Rye или UV? — что выбрать для управления зависимостями
Как построить Hot Module Replacement в Python — обновляем код без перезапуска

📢 Анонсы и события:
Google Summer of Code 2025 — открыт приём заявок

Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Методы экземпляра, класса и статические методы в Python

Хотите писать чистый и поддерживаемый код? Давайте разберем, чем отличаются эти три типа методов в Python.

🔹 Методы экземпляра (`self`):
✓ Работают с конкретным объектом
✓ Изменяют атрибуты экземпляра
✓ Доступ к атрибутам класса через self.__class__
class MyClass:
def method(self):
return "Метод экземпляра", self


🔹 Методы класса (`cls`, `@classmethod`):
✓ Работают с классом в целом
✓ Могут изменять атрибуты класса
✓ Не изменяют атрибуты экземпляра
class MyClass:
@classmethod
def class_method(cls):
return "Метод класса", cls


🔹 Статические методы (`@staticmethod`):
✓ Не принимают self или cls
✓ Не изменяют состояние ни экземпляра, ни класса
✓ Используются для вспомогательных функций
class MyClass:
@staticmethod
def static_method():
return "Статический метод"


🔹 Применение в реальном коде:
class Pizza:
def __init__(self, ingredients):
self.ingredients = ingredients

@classmethod
def margherita(cls):
return cls(["моцарелла", "помидоры"])

@staticmethod
def circle_area(r):
import math
return r ** 2 * math.pi

pizza = Pizza.margherita() # Классовый метод
print(Pizza.circle_area(4)) # Статический метод


🔹 Вывод:
✓ Методы экземпляра изменяют данные конкретного объекта
✓ Методы класса работают с классом и создают альтернативные конструкторы
✓ Статические методы полезны для утилитарных функций

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
☀️ IT-календарь: главные релизы апреля

📅 Важные релизы:

Python 3.14 alpha 7 — ожидается 8 апреля 2025 года. Предварительный релиз для тестирования, не предназначен для продакшн-сред.

Python 3.12.9 — последний багфикс-релиз перед окончанием активной поддержки 2 апреля 2025 года. Далее только обновления безопасности.

Python 3.13.3 — предполагаемый релиз с исправлениями ошибок, приблизительная дата апрель 2025 года.

Django 5.2 — ожидается финальный релиз в апреле 2025 года. Вероятно, получит статус LTS.

🌟 Ключевые мероприятия:

PyCon DE & PyData 2025 — состоится в Дармштадте, Германия, 23-25 апреля.

DjangoCon Europe 2025 — пройдет в Дублине, Ирландия, 23-27 апреля. Главное событие для всех, кто работает с Django.

🎉 Какой релиз или мероприятие вы ждете больше всего? Делитесь в комментариях!

Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🎭 Dev Memes: 1 апреля, а баги всё те же

Сегодня день официально разрешённого троллинга — и мы не могли пройти мимо. Собрали подборку мемов для Go-разработчика, которые вызывают лёгкое желание уволиться.

👉 Всё это — из нашего мемного канала «Библиотека IT-мемов»

Библиотека питониста
This media is not supported in your browser
VIEW IN TELEGRAM
😎 Инструмент недели: стань звездой разработки за 30 секунд

🎩 1 апреля — лучший день, чтобы апгрейдить свой статус в офисе!

rust-stakeholder — CLI-инструмент, который генерирует абсолютно бессмысленный, но очень крутой вывод в терминале.

💡 Помни: важна не реальная работа, а то, насколько сложным выглядит терминал, когда рядом проходит VP of Engineering.

🔥 Фичи, которые не дают никакой пользы, но выглядят суперважными:
✓ Dev-симуляции — решай «задачи CERN», листая Reddit
✓ Техножаргон — «Неевклидова оптимизация данных» (никто не поймёт!)
✓ Прогресс-бары — работа кипит, пока ты пьёшь кофе
✓ Фейк-сеть — API-запросы в никуда
✓ Командная активность — невидимые коллеги шлют «pull requests»
✓ Смена ролей — от backend до blockchain за секунду

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉 PEP 751 (стандартный lockfile для Python) принят

После многих лет работы (и сотен сообщений в обсуждениях) Python-сообщество наконец-то приняло стандартный формат lockfile.

Разработчики всех ключевых инструментов для управления зависимостями участвовали в обсуждении, и теперь они либо полностью перейдут на новый формат (заменяя, например, poetry.lock или uv.lock), либо добавят поддержку экспорта в этот формат.

Что это значит для нас?
• Единый стандарт вместо множества requirements.txt
• Более простая и надежная развертка проектов
• Совместимость между инструментами для управления зависимостями

🔗 Подробности в PEP 751
🔗 Обсуждение на Python Discuss

Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🪄 Визуальные вычисления в Power BI: прокачиваем условное форматирование

Теперь настраивать условное форматирование в Power BI можно без сложных DAX-формул! Разбираем, как новые визуальные вычисления помогают создавать динамичные, адаптивные и стильные отчеты, которые мгновенно реагируют на изменения данных.

⭐️ Пора сделать отчеты действительно интерактивными!

🔗 Ссылка на статью: https://proglib.io/sh/lsb0fEuYSv

Библиотека дата-сайентиста
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/07/08 03:27:04
Back to Top
HTML Embed Code: