Скрытые фишки Python, которые должен знать каждый
Не всё в Python лежит на поверхности. Вот подборка приёмов, которые редко объясняют новичкам, но они делают код чище, короче и умнее
👍 — база
🔥 — знал об этом
👉 @PythonPortal
Не всё в Python лежит на поверхности. Вот подборка приёмов, которые редко объясняют новичкам, но они делают код чище, короче и умнее
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍197🔥64❤14🤯8👀3🤔2🌚1💊1
Если ты работаешь с нейросетями и хочешь понять, что происходит «под капотом» в 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
👍26❤6🔥5👀1
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
👍59🤯16🔥8❤2
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
👍41❤8
Создаем карту с поиском локации на Python 🐍
Хочешь ввести название города и сразу увидеть его на карте прямо в Jupyter Notebook?
Вот простой скрипт, который делает именно это
Используем библиотеки
Вводишь, например, "Tokyo" — и получаешь интерактивную карту с маркером прямо в блокноте
Удобно для гео-проектов, визуализаций🔥
👉 @PythonPortal
Хочешь ввести название города и сразу увидеть его на карте прямо в Jupyter Notebook?
Вот простой скрипт, который делает именно это
Используем библиотеки
geopy
и folium
для геокодинга и отображения картыВводишь, например, "Tokyo" — и получаешь интерактивную карту с маркером прямо в блокноте
Удобно для гео-проектов, визуализаций
Please open Telegram to view this post
VIEW IN TELEGRAM
👍58❤16🔥5
Если ты работаешь с Python и анализом данных, то обязательно запомни эти приёмы из библиотеки pandas
👍 — пригодится
❤️ — спасибо
👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤116👍51🔥6🤝2
Хочешь замедлить импорт чужих библиотек?
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
😁137👍42❤10👀3💊3🔥1
Python List Methods cheatsheet.pdf
96.4 KB
Полезная шпаргалка по спискам, которую должен иметь под рукой каждый питонист
Все методы, которые нужны, с описанием всех возможных манипуляций с ними
Полный PDF — в файле😎
👉 @PythonPortal
Все методы, которые нужны, с описанием всех возможных манипуляций с ними
Полный PDF — в файле
Please open Telegram to view this post
VIEW IN TELEGRAM
👍59🔥11❤8
Ошибка №1 в Python: не кэшировать детерминированные функции, которые многократно вызываются с одними и теми же аргументами
Ошибка №2 в Python: не предпринимать меры, чтобы избежать переполнения памяти
Решение для обеих ошибок: использовать
👉 @PythonPortal
Ошибка №2 в Python: не предпринимать меры, чтобы избежать переполнения памяти
Решение для обеих ошибок: использовать
functools.lru_cache
с аргументом, задающим размер кэшаPlease open Telegram to view this post
VIEW IN TELEGRAM
👍60❤10
Преврати любую ML-статью в репозиторий с кодом
Paper2Code — это система на базе LLM-агентов, которая превращает научную работу в полноценный кодовый репозиторий
Она работает по трёхэтапному пайплайну: планирование, анализ и генерация кода — за каждый этап отвечает отдельный специализированный агент.
Полностью с открытым исходным кодом💖
Ссылка на руководство: тут
👉 @PythonPortal
Paper2Code — это система на базе LLM-агентов, которая превращает научную работу в полноценный кодовый репозиторий
Она работает по трёхэтапному пайплайну: планирование, анализ и генерация кода — за каждый этап отвечает отдельный специализированный агент.
Полностью с открытым исходным кодом
Ссылка на руководство: тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26❤10🔥2💊2😁1
Если вам когда-то казалось, что вы безумны — держитесь
Есть люди, которые всерьёз решили писать 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
👍49😁25❤3🌚3💊3🤔2🤝2👀1
Хочешь быстро вытаскивать структурированные данные и инсайты из 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
👍26❤10🔥8
С выходом 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
👍45❤11🤯6🔥5😁1
Стэнфорд выложил, пожалуй, самые понятные и полезные шпаргалки по 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
🔥26👍12👀5❤2🤔1
Хочешь общаться с ИИ от 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
❤130👍45🔥10💊7🤝4🤯2🏆2