В этом гайде разберём, как просто и эффективно анализировать последовательности действий пользователей. Узнаем, как выявлять повторяющиеся шаблоны.
В посте:
• Собираем и группируем действия.
• Строим n-граммы для поиска паттернов.
• Считаем частоты и фильтруем подозрительные.
• Применяем простой и масштабируемый алгоритм.
Подойдет для UX-аналитики и персонализации. Начни понимать своих пользователей!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤28🔥15👍9🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
Это не просто туториалы, а полноценный интерактивный справочник с вложенным редактором: можно читать про синтаксис, структуры данных, ООП - и сразу проверять всё в браузере. Есть упражнения, викторины, живые примеры и справочники.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍11❤10
Они часто остаются в тени популярных, но дают мощные возможности — от работы с Unicode и байтами до тонкой проверки содержимого строк. В этой шпаргалке собраны 8 приёмов с короткими примерами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥10❤7🤝7
1👍25🔥7❤4😁1
А вы знаете, как в Python генераторы работают под капотом?
Обычная функция возвращает результат и завершает работу. Если использовать
Под капотом
Пример — читаем и сразу обрабатываем огромный файл:
🔥 Генератор — это функция с
👉 Python Ready | #практика
Обычная функция возвращает результат и завершает работу. Если использовать
yield
, функция превращается в генератор — объект generator
, который реализует протокол итератора (__iter__
и __next__
):def gen():
for i in range(1, 4):
yield i * i # лениво возвращаем квадраты
g = gen()
for x in g:
print(x) # 1, 4, 9
Под капотом
next()
двигает выполнение до следующего yield
. Когда значения заканчиваются, выбрасывается StopIteration
, но цикл for
это делает незаметным.Пример — читаем и сразу обрабатываем огромный файл:
def read_file(path):
with open(path) as f:
for line in f:
yield line.strip().upper() # лениво трансформируем строки
🔥 Генератор — это функция с
yield
, создающая итератор и позволяющая лениво обрабатывать данные, экономя память и время.Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤13🔥8
В этой статье:
• Узнаешь, какие библиотеки для ботов существуют и чем отличаются;
• Установишь и подключишь TeleBot;
• Напишешь простой бот с обработкой команд (например, /start);
• Разберёшь каждую строчку кода — что делает, как отвечает.
🔊 Продолжай читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤14👍8🔥5
Есть список банковских транзакций, и нужно посчитать итоговый баланс каждого клиента. Часто встречается в финтех-приложениях, аналитических сервисах и бэкендах.
В этой задаче:
• Используем defaultdict для аккумулирования балансов клиентов.
• Применяем Decimal для точной работы с денежными суммами.
• Оборачиваем всю логику в удобную функцию calculate_balances.
Если итоговый баланс клиента отрицательный — стоит проверить транзакции на ошибки, переплаты или проблемы с платежами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👍10🔥7