This media is not supported in your browser
VIEW IN TELEGRAM
Это не просто "лист с синтаксисом". Тут собраны ключевые паттерны, типы, встроенные функции, примеры по работе с классами, файлами, и всё это — в одном удобном формате. Часто обновляется, без лишнего шума, всё строго по делу.
Оставляю ссылочку: Github📱
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍9❤8
В этой задаче реализуем простой механизм, который позволяет проверять "свежесть" данных в кэше по меткам времени.
В этом посте:
• Сохраняем дату добавления в кэш
• Используем datetime и timedelta
• Проверяем, сколько времени прошло
• Фильтруем и очищаем устаревшие записи
Такой приём отлично подходит везде, где нужно контролировать актуальность данных и автоочистку кэша.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18🔥9👍6🤝3👎1
❤16👍10🔥8
В этой шпаргалке собраны приёмы для разворота, очистки, копирования и модификации списков. Особенно полезны при работе с динамическими данными, обновлении состояния и переборе элементов с контролем индексов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23❤8👍7🤝1
Определяем, бот ли пользователь по user-agent!
Когда ваш сайт получает HTTP-запрос, можно понять — это человек или бот. Это важно для аналитики, защиты API и фильтрации спама.
Напишем функцию, которая анализирует
Пример использования — как будто пришёл запрос от клиента:
Или в реальном веб-приложении (например, Flask):
🔥 Можно расширить: добавить список известных ботов, логировать IP, ограничивать доступ к API.
👉 Python Ready | #практика
Когда ваш сайт получает HTTP-запрос, можно понять — это человек или бот. Это важно для аналитики, защиты API и фильтрации спама.
Напишем функцию, которая анализирует
user-agent
и ищет признаки бота:def is_bot(user_agent):
ua = user_agent.lower()
bot_keywords = ['bot', 'crawl', 'spider']
return any(kw in ua for kw in bot_keywords)
Пример использования — как будто пришёл запрос от клиента:
ua_1 = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://google.com/bot.html)"
ua_2 = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
print(is_bot(ua_1)) # True
print(is_bot(ua_2)) # False
Или в реальном веб-приложении (например, Flask):
from flask import request
@app.route("/")
def index():
if is_bot(request.headers.get("User-Agent", "")):
return "Access denied for bots", 403
return "Welcome, human!"
🔥 Можно расширить: добавить список известных ботов, логировать IP, ограничивать доступ к API.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤25👍13🔥6
•
partition()
— метод строк, который позволяет разделить строку по первому вхождению разделителя. Отлично подходит, когда нужно быстро извлечь ключ или первую часть строки.•
rpartition()
— делает всё то же, но начинает поиск с конца строки. Используется, когда нужно получить последнюю часть, например, расширение файла или хвост из URL.🔥 — если узнал что-то новое
🤝 — если уже использовал их
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👍7❤5🤝1
Сегодня создадим простую модель, которая симулирует поведение пользователей на основе вероятностей переходов.
В этом гайде:
• Строим цепь состояний вручную.
• Генерируем случайные сессии.
• Имитируем десятки пользователей.
• Анализируем наиболее вероятные действия.
Метод идеален для прототипов, тестов и геймдизайна без сложных ML-библиотек.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤22🔥15👍10