About Python [ru]
6.24K subscribers
319 photos
1.58K links
Все о Python: алгоритмы, паттерны проектирования, задачи, нейронные сети

Канал на бирже - https://telega.in/c/python_tesst

По вопросам рекламы или разработки: @g_abashkin
Download Telegram
⚙️ Что такое enumerate() в Python и зачем он нужен?

enumerate() — это встроенная функция, которая добавляет счётчик к итерируемому объекту. Полезна, когда нужно получить и индекс, и значение при переборе списка, строки или любого итератора.

➡️ Пример:

fruits = ['яблоко', 'банан', 'вишня']

for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")

0: яблоко
1: банан
2: вишня


🗣️ Без enumerate() пришлось бы вручную управлять счётчиком. Это делает код чище, читаемее и более "питоничным".


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Всё про конфиги

Материалы лекции про конфигурационные файлы — все основные аспекты написания и использования конфигов для самых маленьких, примеры кода на python.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔗 Логику пиши отдельно от инфраструктуры

Если твой код тесно связан с базой, API или файлами — он плохо тестируется и трудно меняется.

👉 Совет: отделяй логику от среды. Пиши так, чтобы алгоритмы можно было прогнать без подключения к реальному сервису. Это ускорит разработку и позволит использовать код повторно, где угодно.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Почему @patch из unittest.mock ломает вам тесты, если не указать autospec=True

Покажу, как без параметра autospec=True моки из unittest.mock превращаются в всеядных мутантов и почему такие тесты могут одобрять баги вместо их ловли.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Деплой без стресса: автоматизируем процесс для Telegram-ботов

В статье рассказывается, как настроить автоматический деплой Telegram-бота на сервер с использованием GitHub Actions. Это поможет ускорить обновление кода и минимизировать ошибки при ручной загрузке.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Стратегия Келли точно не подведёт

В статье рассматривается уникальная карточная игра с нулевой дисперсией, где стратегия Келли работает без риска. Разбирается механизм ставок, анализ игры и её математическая основа, описанная Томасом Кавером.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Некоторые особенности создания диаграммы Санки (Sankey Diagram) на Python, библиотека plotly

Разбираемся как упаковывать данные в диаграмму Sankey, от этапа проектирования до сборки финальных кортежей.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что такое sys.setrecursionlimit() в Python и когда его нужно использовать?

Функция sys.setrecursionlimit() позволяет вручную изменить максимальную глубину рекурсии в Python. По умолчанию это значение составляет 1000, но при работе с глубокими рекурсивными алгоритмами (например, при обходе дерева или графа) может потребоваться больше.

➡️ Пример:

import sys

sys.setrecursionlimit(2000)

def recurse(n):
if n == 0:
return "Готово"
return recurse(n - 1)

print(recurse(1500)) # Без изменения лимита была бы ошибка RecursionError


🗣️ Этот метод полезен в ситуациях, где нельзя переписать код на итеративный стиль, но нужно избежать ошибки переполнения стека. Однако его следует использовать с осторожностью — слишком высокий лимит может привести к краху интерпретатора.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Не доверяйте groupby().first()

В этой статье рассмотрим, почему groupby().first() в pandas — не такая уж безопасная и очевидная штука, как может показаться. Особенно когда нужно достать первую строку группы в точности, как она была в датафрейме — с NaN, с порядком, без сюрпризов.

Но для начала рассмотрим отличия first от других подобных методов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Говорим с Битрикс24 на языке ИИ: представляем опенсорс MCP-сервер для LLM-интеграции

Показываю, как мы собрали MCP-сервер, который помогает чатам с LLM-ами вытаскивать данные из Битрикс24, например из CRM, и нормально отвечать пользователю на основе бизнес-контекста.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Улучшаем поиск в оболочке

Рассказываю, как часто повторяющиеся команды в Unix-терминале могут стать убийцей времени и как я с этим справляюсь. Немного автоматизации — и минус сотни нажатий в день..

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Введение в MLflow: настройка и запуск

Расскажу, как развернуть MLflow с нуля и вытащить его наружу, если хочется следить за экспериментами не только локально. Подойдёт для пет-проектов и просто тренировки

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что такое __getattr__ в Python и зачем он нужен?

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

➡️ Пример:

class LazyUser:
def __init__(self, name):
self.name = name

def __getattr__(self, attr):
return f'Атрибута "{attr}" нет, но мы что-нибудь придумаем'

user = LazyUser('Анна')
print(user.name) # Анна
print(user.email) # Атрибута "email" нет, но мы что-нибудь придумаем


🗣️ В этом примере, если атрибут не найден (например, email), вызывается __getattr__, который возвращает кастомный ответ. Это может быть полезно для отладки, логирования, создания API-обёрток и сериализации


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Full-stack в аналитике: почему это будущее Data Science?

Поговорим, почему современный дата-сайентист обязан быть фулл-стеком: от сбора данных до деплоя модели и фронта. И как иначе не угробить проект на ровном месте

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🌪 Используй правило «шторма идей» для архитектуры

Когда проектируешь систему, не останавливайся на первом решении. Оно почти всегда не лучшее.

👉 Совет: придумай минимум три разных способа решить задачу: через очереди, через события, через разные структуры данных. Потом выбери оптимальный. Даже если останешься при первом варианте — альтернативы покажут слабые места.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Код как кисть: как Python превращается в художника с помощью генеративных алгоритмов

Пробую научить Python создавать странные картины с помощью случайностей, математики и шума Перлина. Без нейросетей — только код, немного философии и много визуального абсурда

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Основные паттерны микросервисной архитектуры: Strangler Fig, API Gateway, Service Mesh и другие

В статье показываю, какие архитектурные паттерны помогают правильно строить микросервисы: от миграции через API Gateway до Event Sourcing, с примерами кода и диаграммами

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM