Скрытые фишки Python, которые должен знать каждый
Не всё в Python лежит на поверхности. Вот подборка приёмов, которые редко объясняют новичкам, но они делают код чище, короче и умнее
👍 — база
🔥 — знал об этом
👉 @PythonPortal
Не всё в Python лежит на поверхности. Вот подборка приёмов, которые редко объясняют новичкам, но они делают код чище, короче и умнее
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Если ты работаешь с нейросетями и хочешь понять, что происходит «под капотом» в PyTorch, обязательно загляни в статью от Edward Z. Yang — одного из ключевых разработчиков фреймворка
– как устроены тензоры
– что такое views и как они позволяют не копировать данные
– как работает autograd
– структура кода PyTorch
– логика диспетчеризации операций между CPU, CUDA и другими бекендами
—> читать
👉 @PythonPortal
– как устроены тензоры
– что такое views и как они позволяют не копировать данные
– как работает autograd
– структура кода PyTorch
– логика диспетчеризации операций между CPU, CUDA и другими бекендами
—> читать
Please open Telegram to view this post
VIEW IN TELEGRAM
PEP 750 вводят t-строки — это как f"..." но:
- интерполяция ограничена и контролируема;
- поддерживается строгое соответствие шаблону;
- можно передавать переменные явно, предотвращая SQL-инъекции и XSS.
Для чего? Для того, чтобы писать shell-команды, SQL, HTML и т.д. без риска инъекций и без ручного экранирования
Пример:
from string.templatelib import Template
name = "World"
template: Template = t"Hello, {name}!"
safe_output = html(template)
Здесь
html()
— это функция, которая принимает объект Template
и возвращает безопасную строку, экранируя потенциально опасные вставкиPEP 787 предлагает добавить это прямо в
subprocess
и shlex
(но пока в статусе "отложен")Следим за развитием
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Это отличный способ понять работу моделей машинного обучения
Библиотека Drawdata позволяет создавать двумерные (2D) датасеты прямо в Jupyter Notebook
Вы можете вручную выбирать точки данных с помощью виджета, и модель будет обновляться в реальном времени по мере добавления новых точек
Полностью интерактивно и в реальном времени😮
👉 @PythonPortal
Библиотека Drawdata позволяет создавать двумерные (2D) датасеты прямо в Jupyter Notebook
Вы можете вручную выбирать точки данных с помощью виджета, и модель будет обновляться в реальном времени по мере добавления новых точек
Полностью интерактивно и в реальном времени
Please open Telegram to view this post
VIEW IN TELEGRAM
Создаем карту с поиском локации на Python 🐍
Хочешь ввести название города и сразу увидеть его на карте прямо в Jupyter Notebook?
Вот простой скрипт, который делает именно это
Используем библиотеки
Вводишь, например, "Tokyo" — и получаешь интерактивную карту с маркером прямо в блокноте
Удобно для гео-проектов, визуализаций🔥
👉 @PythonPortal
Хочешь ввести название города и сразу увидеть его на карте прямо в Jupyter Notebook?
Вот простой скрипт, который делает именно это
Используем библиотеки
geopy
и folium
для геокодинга и отображения картыВводишь, например, "Tokyo" — и получаешь интерактивную карту с маркером прямо в блокноте
Удобно для гео-проектов, визуализаций
Please open Telegram to view this post
VIEW IN TELEGRAM
Если ты работаешь с Python и анализом данных, то обязательно запомни эти приёмы из библиотеки pandas
👍 — пригодится
❤️ — спасибо
👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Хочешь замедлить импорт чужих библиотек?
tarrif позволяет наложить тариф на любой Python-модуль — он будет загружаться с задержкой в зависимости от % "пошлины".
При этом в консоли вылезет:
Повод потроллить коллег🤡
👉 @PythonPortal
tarrif позволяет наложить тариф на любой Python-модуль — он будет загружаться с задержкой в зависимости от % "пошлины".
import tariff
tariff.set({
"numpy": 50, # 50% тариф
"pandas": 200, # 200% тариф
})
import numpy # теперь будет импортироваться медленнее
При этом в консоли вылезет:
JUST IMPOSED a 50% TARIFF on numpy! Original import took 45000 us, now takes 67500 us. American packages are WINNING AGAIN! #MIGA
Повод потроллить коллег
Please open Telegram to view this post
VIEW IN TELEGRAM
Python List Methods cheatsheet.pdf
96.4 KB
Полезная шпаргалка по спискам, которую должен иметь под рукой каждый питонист
Все методы, которые нужны, с описанием всех возможных манипуляций с ними
Полный PDF — в файле😎
👉 @PythonPortal
Все методы, которые нужны, с описанием всех возможных манипуляций с ними
Полный PDF — в файле
Please open Telegram to view this post
VIEW IN TELEGRAM
Ошибка №1 в Python: не кэшировать детерминированные функции, которые многократно вызываются с одними и теми же аргументами
Ошибка №2 в Python: не предпринимать меры, чтобы избежать переполнения памяти
Решение для обеих ошибок: использовать
👉 @PythonPortal
Ошибка №2 в Python: не предпринимать меры, чтобы избежать переполнения памяти
Решение для обеих ошибок: использовать
functools.lru_cache
с аргументом, задающим размер кэшаPlease open Telegram to view this post
VIEW IN TELEGRAM
Преврати любую ML-статью в репозиторий с кодом
Paper2Code — это система на базе LLM-агентов, которая превращает научную работу в полноценный кодовый репозиторий
Она работает по трёхэтапному пайплайну: планирование, анализ и генерация кода — за каждый этап отвечает отдельный специализированный агент.
Полностью с открытым исходным кодом💖
Ссылка на руководство: тут
👉 @PythonPortal
Paper2Code — это система на базе LLM-агентов, которая превращает научную работу в полноценный кодовый репозиторий
Она работает по трёхэтапному пайплайну: планирование, анализ и генерация кода — за каждый этап отвечает отдельный специализированный агент.
Полностью с открытым исходным кодом
Ссылка на руководство: тут
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вам когда-то казалось, что вы безумны — держитесь
Есть люди, которые всерьёз решили писать Python с фигурными скобками
Так появился Bython — препроцессор, который превращает {} в питоновские отступы
Пишешь, как на C/JavaScript, а получаешь работающий Python
Устанавливается через
Команда запуска:
> PyPI: https://pypi.org/project/Bython
> GitHub: https://github.com/mathialo/bython
Последнее обновление было в 2018 — для фана и экспериментов пойдёт🎧
👉 @PythonPortal
Есть люди, которые всерьёз решили писать Python с фигурными скобками
Так появился Bython — препроцессор, который превращает {} в питоновские отступы
Пишешь, как на C/JavaScript, а получаешь работающий Python
def sanity_check() {
print("Это точно Python?");
}
Устанавливается через
pip install bython
Команда запуска:
bython script.by
> PyPI: https://pypi.org/project/Bython
> GitHub: https://github.com/mathialo/bython
Последнее обновление было в 2018 — для фана и экспериментов пойдёт
Please open Telegram to view this post
VIEW IN TELEGRAM
Хочешь быстро вытаскивать структурированные данные и инсайты из PDF, DOCX и других документов?
Попробуй ContextGem — LLM-фреймворк, который делает это максимально просто и прозрачно.
Всего несколько строк Python-кода и у тебя:
> Чистые таблицы
> Структурированные поля
> Конкретные инсайты
Работает на базе LLM. Полностью Open Source❤️
👉 @PythonPortal
Попробуй ContextGem — LLM-фреймворк, который делает это максимально просто и прозрачно.
Всего несколько строк Python-кода и у тебя:
> Чистые таблицы
> Структурированные поля
> Конкретные инсайты
Работает на базе LLM. Полностью Open Source
Please open Telegram to view this post
VIEW IN TELEGRAM
С выходом Python 3.11, 3.12 и 3.14 изменилась даже такая простая вещь, как вычисление скалярного произведения векторов
Сначала всё выглядело просто:
Но не все знают, что встроенная
С Python 3.12 добавился аргумент
Однако из-за zip приходится “распаковывать” кортежи — поэтому тут нужен
Наконец, в Python 3.14 всё снова упростилось:
Встроенная😍
👉 @PythonPortal
Сначала всё выглядело просто:
sum(map(operator.mul, vec1, vec2))
Но не все знают, что встроенная
map
может принимать 2 и более итерируемых объектов как источники аргументов для функции, которую она применяетС Python 3.12 добавился аргумент
strict
, и стало логично его использоватьОднако из-за zip приходится “распаковывать” кортежи — поэтому тут нужен
itertools.starmap
, а не обычный map.Наконец, в Python 3.14 всё снова упростилось:
sum(map(operator.mul, vec1, vec2, strict=True))
Встроенная
map
получает именованный аргумент strict
, как и zip
Please open Telegram to view this post
VIEW IN TELEGRAM
Стэнфорд выложил, пожалуй, самые понятные и полезные шпаргалки по LLM и трансформерам
В них есть всё, что нужно:
• self-attention, flash attention, LoRA, SFT
• mixture of experts, дистилляция, квантизация
• RAG, агенты, LLM как "судья"
И главное — всё это бесплатно и в открытом доступе🤍
👉 @PythonPortal
В них есть всё, что нужно:
• self-attention, flash attention, LoRA, SFT
• mixture of experts, дистилляция, квантизация
• RAG, агенты, LLM как "судья"
И главное — всё это бесплатно и в открытом доступе
Please open Telegram to view this post
VIEW IN TELEGRAM
Хочешь общаться с ИИ от DeepSeek без ограничений и подписок?
Тогда зацени DeeperSeek —> неофициальную Python-библиотеку, которая позволяет напрямую работать с сайтом DeepSeek, обходя официальный API
• Отправка сообщений и получение ответов
• Обход Cloudflare-защиты
• Поддержка входа по e-mail и токену
• Работает даже в Google Colab
• Работает с DeepThink и нейропоиском
💖 — спасибо, админ
👍 — имба
👉 @PythonPortal
Тогда зацени DeeperSeek —> неофициальную Python-библиотеку, которая позволяет напрямую работать с сайтом DeepSeek, обходя официальный API
• Отправка сообщений и получение ответов
• Обход Cloudflare-защиты
• Поддержка входа по e-mail и токену
• Работает даже в Google Colab
• Работает с DeepThink и нейропоиском
Please open Telegram to view this post
VIEW IN TELEGRAM
mementopython3-russian_with_link.pdf
315.1 KB
У меня для тебя подгон
Если ты только начал изучать Python или уже пишешь скрипты, но забываешь синтаксис — вот то, что тебе нужно. Эта краткая шпаргалка охватывает всё самое важное
Из разряда > распечатай и повесь перед собой💖
👉 @PythonPortal
Если ты только начал изучать Python или уже пишешь скрипты, но забываешь синтаксис — вот то, что тебе нужно. Эта краткая шпаргалка охватывает всё самое важное
Из разряда > распечатай и повесь перед собой
Please open Telegram to view this post
VIEW IN TELEGRAM
Скрывай личную информацию в своём Python-коде
Допустим, тебе нужно вывести email.
Но ты хочешь сделать тот самый эффект, как в
В Python это довольно просто
Всё, что нужно — это f-строка и подходящие спецификаторы форматирования
1. Разделяем email
Используем
2. Показываем первые символы
Берём первые два:
3. Создаём поле нужной ширины
Поле должно быть длиной, как
Используем f-строку:
Пока что получится:
4. Меняем символ заполнения
По умолчанию заполняется пробелами, но мы хотим
Просто указываем его:
Получаем:
5. Собираем всё вместе
Добавляем домен:
👉 @PythonPortal
Допустим, тебе нужно вывести email.
Но ты хочешь сделать тот самый эффект, как в
ro*****@mathspp.com
В Python это довольно просто
Всё, что нужно — это f-строка и подходящие спецификаторы форматирования
1. Разделяем email
Используем
str.partition
, чтобы отделить имя пользователя (user) от домена:user, _, domain = email.partition("@")
2. Показываем первые символы
Берём первые два:
user[:2] # → 'ro'
3. Создаём поле нужной ширины
Поле должно быть длиной, как
user
, то есть len(user)
Используем f-строку:
f"{user[:2]:<{len(user)}}"
Пока что получится:
ro
4. Меняем символ заполнения
По умолчанию заполняется пробелами, но мы хотим
*
.Просто указываем его:
f"{user[:2]:*<{len(user)}}"
Получаем:
ro*****
5. Собираем всё вместе
Добавляем домен:
f"{user[:2]:
Please open Telegram to view this post
VIEW IN TELEGRAM
В Python 3.14 добавили подсветку синтаксиса в новой интерактивной оболочке PyREPL
Теперь прямо в консоли Python код выглядит красиво, как в редакторе > ключевые слова, строки, числа и даже комментарии подсвечиваются цветом.
И это не всё. Можно настроить тему под себя
Пример дефолтной темы:
Свою можно поставить так:
1. Меняем цвета для тех токенов, которые хотим подсветить. Складываем в импортируемый модуль. Например:
2. При старте Python установи тему через
—> Документация по PYTHONSTARTUP: клик
—> PR с реализацией подсветки: клик
Вот тут реализация подсветки, она довольно простая❤️
👉 @PythonPortal
Теперь прямо в консоли Python код выглядит красиво, как в редакторе > ключевые слова, строки, числа и даже комментарии подсвечиваются цветом.
И это не всё. Можно настроить тему под себя
Пример дефолтной темы:
theme = {
"PROMPT": colors.BOLD_MAGENTA,
"KEYWORD": colors.BOLD_BLUE,
"BUILTIN": colors.CYAN,
"COMMENT": colors.RED,
"STRING": colors.GREEN,
"NUMBER": colors.YELLOW,
"OP": colors.RESET,
"DEFINITION": colors.BOLD,
"SOFT_KEYWORD": colors.BOLD_BLUE,
"RESET": colors.RESET,
}
Свою можно поставить так:
1. Меняем цвета для тех токенов, которые хотим подсветить. Складываем в импортируемый модуль. Например:
your_theme
2. При старте Python установи тему через
PYTHONSTARTUP
export PYTHONSTARTUP='import _colorize; from your_theme import theme; _colorize.set_theme(theme)'
—> Документация по PYTHONSTARTUP: клик
—> PR с реализацией подсветки: клик
Вот тут реализация подсветки, она довольно простая
Please open Telegram to view this post
VIEW IN TELEGRAM
Найти самый недавно изменённый файл в папке — это одна строка на Python
Всё, что нужно — это встроенная функция
Хочешь только файлы? Фильтруй с помощью генератора.
Нужен рекурсивный обход? Используй❤️
👉 @PythonPortal
Всё, что нужно — это встроенная функция
max
и пользовательская функция key
Хочешь только файлы? Фильтруй с помощью генератора.
Нужен рекурсивный обход? Используй
.rglob("*")
вместо iterdir
Please open Telegram to view this post
VIEW IN TELEGRAM
НОВОЕ: топовый репозиторий на GitHub для дата-сайентистов, работающих с генеративным ИИ
Экосистема LangGraph включает:
1. Готовые агенты
2. AI-агенты для дата-сайенса
3. LangMem — память для агентов
4. LangGraph Supervisor — управление агентами
5. Open Deep Research — открытые исследования
6. LangGraph Reflection — саморефлексия агентов
7. LangGraph Big Tool — мощные инструменты
8. LangGraph CodeAct — агенты, пишущие код
9. LangGraph Swarm — координация нескольких агентов
10. LangGraph MCP Adapters — адаптеры под разные среды
Если работаешь с LLM — стоит заценить💖
👉 @PythonPortal
Экосистема LangGraph включает:
1. Готовые агенты
2. AI-агенты для дата-сайенса
3. LangMem — память для агентов
4. LangGraph Supervisor — управление агентами
5. Open Deep Research — открытые исследования
6. LangGraph Reflection — саморефлексия агентов
7. LangGraph Big Tool — мощные инструменты
8. LangGraph CodeAct — агенты, пишущие код
9. LangGraph Swarm — координация нескольких агентов
10. LangGraph MCP Adapters — адаптеры под разные среды
Если работаешь с LLM — стоит заценить
Please open Telegram to view this post
VIEW IN TELEGRAM