TGViewer
Channel Public Channel
Python Portal

Python Portal

@pythonportal

Всё самое интересное из мира Python

Сотрудничество, реклама: @devmangx

Работаем с @Spiral_Yuri

РКН: https://clck.ru/3GMMF6
Subscribers
50.7K
Photos
2.9K
Videos
493
Links
1.3K

Showing posts older than #4369 · Back to latest

Older Posts 18 shown
Post #4368 15.7K
В Python 3.14 добавили подсветку синтаксиса в новой интерактивной оболочке PyREPL

Теперь прямо в консоли 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 с реализацией подсветки: клик

Вот тут реализация подсветки, она довольно простая ❤️

👉 @PythonPortal
  • 👍 44
  • ❤ 15
  • 🔥 2
  • 🤔 2
Post #4367 16K
Скрывай личную информацию в своём Python-коде

Допустим, тебе нужно вывести 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]:


👉 @PythonPortal
  • 👍 62
  • 🔥 23
  • ❤ 12
  • 🤯 2
  • 👀 2
Post #4366 17.9K
mementopython3-russian_with_link.pdf315.1 KB
У меня для тебя подгон

Если ты только начал изучать Python или уже пишешь скрипты, но забываешь синтаксис — вот то, что тебе нужно. Эта краткая шпаргалка охватывает всё самое важное

Из разряда > распечатай и повесь перед собой 💖

👉 @PythonPortal
  • 👍 75
  • ❤ 19
  • 🔥 11
Post #4365 18.9K
Хочешь общаться с ИИ от DeepSeek без ограничений и подписок?

Тогда зацени DeeperSeek —> неофициальную Python-библиотеку, которая позволяет напрямую работать с сайтом DeepSeek, обходя официальный API

• Отправка сообщений и получение ответов
• Обход Cloudflare-защиты
• Поддержка входа по e-mail и токену
• Работает даже в Google Colab
• Работает с DeepThink и нейропоиском

💖 — спасибо, админ
👍 — имба

👉 @PythonPortal
  • ❤ 135
  • 👍 46
  • 🔥 10
  • 💊 7
  • 🤝 4
  • 🤯 2
  • 🏆 2
Post #4363 17.1K
Стэнфорд выложил, пожалуй, самые понятные и полезные шпаргалки по LLM и трансформерам

В них есть всё, что нужно:

• self-attention, flash attention, LoRA, SFT
• mixture of experts, дистилляция, квантизация
• RAG, агенты, LLM как "судья"

И главное — всё это бесплатно и в открытом доступе 🤍

👉 @PythonPortal
  • 🔥 27
  • 👍 12
  • 👀 6
  • ❤ 2
  • 🤔 1
Post #4362 17.1K
С выходом Python 3.11, 3.12 и 3.14 изменилась даже такая простая вещь, как вычисление скалярного произведения векторов

Сначала всё выглядело просто:

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 😍

👉 @PythonPortal
  • 👍 45
  • ❤ 11
  • 🤯 7
  • 🔥 5
  • 😁 1
Post #4361 15.9K
Хочешь быстро вытаскивать структурированные данные и инсайты из PDF, DOCX и других документов?

Попробуй ContextGem — LLM-фреймворк, который делает это максимально просто и прозрачно.

Всего несколько строк Python-кода и у тебя:

> Чистые таблицы
> Структурированные поля
> Конкретные инсайты

Работает на базе LLM. Полностью Open Source ❤️

👉 @PythonPortal
  • 👍 26
  • ❤ 11
  • 🔥 8
Post #4360 16.6K
Если вам когда-то казалось, что вы безумны — держитесь

Есть люди, которые всерьёз решили писать 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 — для фана и экспериментов пойдёт 🎧

👉 @PythonPortal
  • 👍 50
  • 😁 25
  • ❤ 4
  • 🌚 4
  • 💊 3
  • 🤔 2
  • 🤝 2
  • 👀 1
Post #4359 17K
Преврати любую ML-статью в репозиторий с кодом

Paper2Code — это система на базе LLM-агентов, которая превращает научную работу в полноценный кодовый репозиторий

Она работает по трёхэтапному пайплайну: планирование, анализ и генерация кода — за каждый этап отвечает отдельный специализированный агент.

Полностью с открытым исходным кодом 💖

Ссылка на руководство: тут

👉 @PythonPortal
  • 👍 26
  • ❤ 10
  • 😁 3
  • 🔥 2
  • 💊 2
Post #4358 16.5K
Ошибка №1 в Python: не кэшировать детерминированные функции, которые многократно вызываются с одними и теми же аргументами

Ошибка №2 в Python: не предпринимать меры, чтобы избежать переполнения памяти

Решение для обеих ошибок: использовать functools.lru_cache с аргументом, задающим размер кэша

👉 @PythonPortal
  • 👍 61
  • ❤ 12
Post #4356 18.9K
Python List Methods cheatsheet.pdf96.4 KB
Полезная шпаргалка по спискам, которую должен иметь под рукой каждый питонист

Все методы, которые нужны, с описанием всех возможных манипуляций с ними

Полный PDF — в файле 😎

👉 @PythonPortal
  • 👍 61
  • 🔥 12
  • ❤ 8
Post #4355 20.1K
Хочешь замедлить импорт чужих библиотек?

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


Повод потроллить коллег 🤡

👉 @PythonPortal
  • 😁 141
  • 👍 42
  • ❤ 11
  • 👀 3
  • 💊 3
  • 🔥 1
  • 🤯 1
Post #4354 18.5K
Если ты работаешь с Python и анализом данных, то обязательно запомни эти приёмы из библиотеки pandas

👍 — пригодится
❤️ — спасибо

👉 @PythonPortal
  • ❤ 122
  • 👍 54
  • 🔥 6
  • 🤝 2
Post #4352 17.6K
Создаем карту с поиском локации на Python 🐍

Хочешь ввести название города и сразу увидеть его на карте прямо в Jupyter Notebook?

Вот простой скрипт, который делает именно это

Используем библиотеки geopy и folium для геокодинга и отображения карты

Вводишь, например, "Tokyo" — и получаешь интерактивную карту с маркером прямо в блокноте

Удобно для гео-проектов, визуализаций 🔥

👉 @PythonPortal
  • 👍 60
  • ❤ 17
  • 🔥 5
Post #4351 16.6K
Это отличный способ понять работу моделей машинного обучения

Библиотека Drawdata позволяет создавать двумерные (2D) датасеты прямо в Jupyter Notebook

Вы можете вручную выбирать точки данных с помощью виджета, и модель будет обновляться в реальном времени по мере добавления новых точек

Полностью интерактивно и в реальном времени 😮

👉 @PythonPortal
  • 👍 42
  • ❤ 9
Post #4350 17K
🐍 Новинка в Python

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 (но пока в статусе "отложен")

Следим за развитием 😊

👉 @PythonPortal
  • 👍 59
  • 🤯 17
  • 🔥 8
  • ❤ 2
Post #4349 16.2K
Если ты работаешь с нейросетями и хочешь понять, что происходит «под капотом» в PyTorch, обязательно загляни в статью от Edward Z. Yang — одного из ключевых разработчиков фреймворка

– как устроены тензоры
– что такое views и как они позволяют не копировать данные
– как работает autograd
– структура кода PyTorch
– логика диспетчеризации операций между CPU, CUDA и другими бекендами

—> читать

👉 @PythonPortal
  • 👍 26
  • ❤ 8
  • 🔥 5
  • 👀 1
Post #4338 18K
Скрытые фишки Python, которые должен знать каждый

Не всё в Python лежит на поверхности. Вот подборка приёмов, которые редко объясняют новичкам, но они делают код чище, короче и умнее

👍 — база
🔥 — знал об этом

👉 @PythonPortal
  • 👍 200
  • 🔥 65
  • ❤ 15
  • 🤯 8
  • 👀 3
  • 🤔 2
  • 🌚 1
  • 💊 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →