🐍 Полезный совет по Python: используйте
Многие новички пишут так:
Код рабочий, но неэффективный: при каждой конкатенации создаётся новая строка, что сильно замедляет работу на больших объёмах данных.
🚀 Правильный способ — использовать " ".join():
💡 Преимущества:
- Быстрее и эффективнее на больших списках
- Код чище и короче
-Можно легко задавать разделитель (пробел, запятая, \n)
📊 Пример:
Вывод:
📌 Итог
Используйте "".join() для объединения строк из списка — это питонично, быстро и удобно.
"".join()
вместо конкатенации строк в цикле Многие новички пишут так:
words = ["Python", "очень", "крут"]
result = ""
for w in words:
result += w + " "
print(result)
Код рабочий, но неэффективный: при каждой конкатенации создаётся новая строка, что сильно замедляет работу на больших объёмах данных.
🚀 Правильный способ — использовать " ".join():
words = ["Python", "очень", "крут"]
result = " ".join(words)
print(result)
💡 Преимущества:
- Быстрее и эффективнее на больших списках
- Код чище и короче
-Можно легко задавать разделитель (пробел, запятая, \n)
📊 Пример:
lines = ["строка 1", "строка 2", "строка 3"]
text = "\n".join(lines)
print(text)
Вывод:
строка 1
строка 2
строка 3
📌 Итог
Используйте "".join() для объединения строк из списка — это питонично, быстро и удобно.
👍34❤8🔥6😁1
🚀 Docker + Python полезный совет
Если вы запускаете Python-приложения в Docker, ускорить их можно с помощью многоступенчатой сборки.
Это позволяет собирать зависимости отдельно и не тащить весь мусор в финальный образ.
💡 Такой подход уменьшает размер образа и ускоряет деплой.
Вместо гигабайт вы получаете лёгкий production-контейнер с только нужным кодом и либами.
@pythonl
Если вы запускаете Python-приложения в Docker, ускорить их можно с помощью многоступенчатой сборки.
Это позволяет собирать зависимости отдельно и не тащить весь мусор в финальный образ.
# Этап сборки зависимостей
FROM python:3.12-slim AS builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --user -r requirements.txt
# Финальный минимальный образ
FROM python:3.12-slim
WORKDIR /app
COPY --from=builder /root/.local /root/.local
COPY . .
ENV PATH=/root/.local/bin:$PATH
CMD ["python", "app.py"]
💡 Такой подход уменьшает размер образа и ускоряет деплой.
Вместо гигабайт вы получаете лёгкий production-контейнер с только нужным кодом и либами.
@pythonl
1👍24❤10🔥6😱1
Работаете с финансовыми отчётами или любыми табличными данными в PDF?
С библиотекой docling это становится максимально просто.
Большинство инструментов для работы с PDF заставляют собирать пайплайн вручную:
одна библиотека для извлечения текста, другая для парсинга, третья для чанкинга.
Docling закрывает весь процесс — от сырых PDF до структурированных и готовых к поиску данных — в одном решении.
Пример: конвертируем PDF с отчётом о доходах и сразу получаем pandas DataFrame 👇
from docling.document_converter import DocumentConverter
converter = DocumentConverter()
result = converter.convert("financial_report.pdf")
for table in result.document.tables:
df = table.export_to_dataframe()
📌 Github
@pythonl
#AI #RAG #Docling #DataEngineering #PDF
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤7🔥5🤩2
28 августа(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
☕️ JPype — проект, позволяющий вызывать Java-код напрямую из Python-скриптов. В отличие от Jython, JPype не переписывает Python на Java, а создает мост между двумя виртуальными машинами через нативные интерфейсы.
Инструмент сохраняет доступ ко всем возможностям CPython и Java-библиотек одновременно. Это открывает возможности для использования Java-фреймворков в научных вычислениях на Python, тестирования Java-кода через Python-скрипты и интеграции legacy-систем.
🤖 GitHub
@pythonl
Инструмент сохраняет доступ ко всем возможностям CPython и Java-библиотек одновременно. Это открывает возможности для использования Java-фреймворков в научных вычислениях на Python, тестирования Java-кода через Python-скрипты и интеграции legacy-систем.
🤖 GitHub
@pythonl
👍19❤9🔥5
Media is too big
VIEW IN TELEGRAM
🚀 Jupyter Agent 2
Этот агент умеет:
📂 Загружать данные
💻 Запускать код
📊 Строить графики прямо в Jupyter — быстрее, чем вы успеете прокрутить экран!
🤖 Основан на движке Qwen3-Coder
⚡️ Работает на Cerebras
⚙️ Запускается в E2B
↕️ Поддерживает загрузку файлов
👉 Попробовать можно здесь: https://hf.co/spaces/lvwerra/jupyter-agent-2
@pythonl
Этот агент умеет:
📂 Загружать данные
💻 Запускать код
📊 Строить графики прямо в Jupyter — быстрее, чем вы успеете прокрутить экран!
🤖 Основан на движке Qwen3-Coder
⚡️ Работает на Cerebras
⚙️ Запускается в E2B
↕️ Поддерживает загрузку файлов
👉 Попробовать можно здесь: https://hf.co/spaces/lvwerra/jupyter-agent-2
@pythonl
👍10❤6🔥3😁2
🐍 Изучаем MCP на Python — серия уроков от Microsoft
Пошаговое руководство для Python-разработчиков по Model Context Protocol (MCP):
как понять концепцию и построить свой MCP-сервер в интерактивном формате.
📚 Репозиторий с гайдом
#python #MCP #tutorial #developers
Пошаговое руководство для Python-разработчиков по Model Context Protocol (MCP):
как понять концепцию и построить свой MCP-сервер в интерактивном формате.
📚 Репозиторий с гайдом
#python #MCP #tutorial #developers
❤9👍3🔥3
Тренировки Яндекса по алгоритмам: от решения задач к карьере в IT
Вас ждет 4 недели практики, чтобы систематизировать знания и научиться решать задачи, которые встречаются на собеседованиях и в реальной работе.
Программа включает восемь ключевых тем: множества, словари, динамическое программирование и не только. Лекции и разборы будет вести Михаил Густокашин — директор Центра студенческих олимпиад ВШЭ и тренер чемпионов мира по программированию.
Топ-300 участников смогут пропустить контест при отборе на стажировку в Яндекс по направлениям бэкенд, фронтенд, мобилка и пройти пробное техническое собеседование. А еще лидеры рейтинга смогут получить персональные карьерные консультации.
Подать заявку можно до 29 сентября.
Вас ждет 4 недели практики, чтобы систематизировать знания и научиться решать задачи, которые встречаются на собеседованиях и в реальной работе.
Программа включает восемь ключевых тем: множества, словари, динамическое программирование и не только. Лекции и разборы будет вести Михаил Густокашин — директор Центра студенческих олимпиад ВШЭ и тренер чемпионов мира по программированию.
Топ-300 участников смогут пропустить контест при отборе на стажировку в Яндекс по направлениям бэкенд, фронтенд, мобилка и пройти пробное техническое собеседование. А еще лидеры рейтинга смогут получить персональные карьерные консультации.
Подать заявку можно до 29 сентября.
❤5😁3👍1🔥1😢1
⚡️ Limekit — кроссплатформенный GUI-фреймворк на Lua
Хочешь писать десктоп-приложения без Python и компиляции?
С Limekit всё просто: «написал один раз — запускай везде» (Windows, macOS, Linux).
✨ Что умеет:
- Чистый Lua API, без необходимости знать Python
- 40+ встроенных виджетов, поддержка Material Design и тёмной темы
- Запуск без сборки — достаточно Python и самого фреймворка
- Много примеров и документация на ReadTheDocs
- Полностью опенсорс (GPLv3)
📌 Минимальный пример:
Две строки кода — и у тебя уже готовое окно 🚀
⚡️GitHub
@pythonl
Хочешь писать десктоп-приложения без Python и компиляции?
С Limekit всё просто: «написал один раз — запускай везде» (Windows, macOS, Linux).
✨ Что умеет:
- Чистый Lua API, без необходимости знать Python
- 40+ встроенных виджетов, поддержка Material Design и тёмной темы
- Запуск без сборки — достаточно Python и самого фреймворка
- Много примеров и документация на ReadTheDocs
- Полностью опенсорс (GPLv3)
📌 Минимальный пример:
local window = Window{title='Limekit app'}
window:show()
Две строки кода — и у тебя уже готовое окно 🚀
⚡️GitHub
@pythonl
🔥12❤4👍4😁2🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
Внутри целая драма — начало, как Python создавался в качестве хобби, едва не исчез, но все-таки взлетел и стал одним из ведущих ЯП.
В документалке даже проявляется сам Гвидо ван Россум, а также создатель NumPy, и другие топы коммьюнити.
📌Смотрим тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19🔥6👍4
This media is not supported in your browser
VIEW IN TELEGRAM
🆕 OctoBot — мощный криптовалютный торговый бот с открытым исходным кодом!
OctoBot — это:
- Открытый и настраиваемый крипто-торговый бот от Drakkar-Software
- Интерфейс конфигурации и система *tentacles* (модули-«щупальца») для гибкого построения стратегий — от технического анализа до интеграции внешних данных
- Поддержка Spot и Futures, торговля на более чем 15 биржах через библиотеку ccxt
- Возможности: создание и тестирование стратегий, оптимизация, торговля корзиной криптовалют, использование AI-инструментов и backtesting
Архитектура проекта:
-
-
-
- Дополнительные пакеты:
Активность и релизы:
- 4,5k★ и 900+ форков на GitHub
- Недавний релиз
- Регулярные обновления и активное сообщество
Почему это важно:
- Гибкая модульная архитектура
- Возможность добавлять свои стратегии и источники данных
- Отличный инструмент для изучения алгоритмической торговли и прототипирования
- Интеграции с AI, TradingView, Telegram
👉 Репозиторий: https://github.com/Drakkar-Software/OctoBot
@pythonl
OctoBot — это:
- Открытый и настраиваемый крипто-торговый бот от Drakkar-Software
- Интерфейс конфигурации и система *tentacles* (модули-«щупальца») для гибкого построения стратегий — от технического анализа до интеграции внешних данных
- Поддержка Spot и Futures, торговля на более чем 15 биржах через библиотеку ccxt
- Возможности: создание и тестирование стратегий, оптимизация, торговля корзиной криптовалют, использование AI-инструментов и backtesting
Архитектура проекта:
-
OctoBot
— ядро с backtesting и стратегическим менеджментом -
OctoBot-Tentacles
— модули для стратегий, нотификаций, внешних данных -
OctoBot-Trading
— взаимодействие с биржами через ccxt - Дополнительные пакеты:
OctoBot-Services
, OctoBot-Backtesting
, OctoBot-Commons
, Async-Channel
Активность и релизы:
- 4,5k★ и 900+ форков на GitHub
- Недавний релиз
2.0.12
(июнь 2025) с поддержкой Windows, Linux (x64, arm64) и macOS - Регулярные обновления и активное сообщество
Почему это важно:
- Гибкая модульная архитектура
- Возможность добавлять свои стратегии и источники данных
- Отличный инструмент для изучения алгоритмической торговли и прототипирования
- Интеграции с AI, TradingView, Telegram
👉 Репозиторий: https://github.com/Drakkar-Software/OctoBot
@pythonl
👍6❤5🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
VLM (Vision-Language Model) — это модель, которая умеет одновременно работать с картинками и текстом: понимать, что изображено, описывать картинку словами, отвечать на вопросы по изображению и совмещать визуальные и текстовые данные.
⚡ Что это значит:
- До 85 раз быстрее и в 3.4 раза компактнее аналогичных VLM
- У крупных моделей время до первого токена стало быстрее в 7.9 раз
- Меньше выходных токенов + быстрее обработка картинок высокого разрешения
🔥Модель работает в реальном времени прямо в браузере через transformers.js и WebGPU.
https://huggingface.co/spaces/apple/fastvlm-webgpu
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15🔥5👍3🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Необычный Python-совет
В Python можно перегрузить оператор [] и превратить объект в умный словарь или вычисляемый массив. Это позволяет писать очень выразительный код.
Пример: создадим класс, который хранит функцию и вычисляет результат «на лету» при обращении по индексу:
👉 В итоге obj[x] может не просто доставать значение, а вычислять его динамически.
Это мощный приём для DSL, кэшей и ленивых вычислений.
В Python можно перегрузить оператор [] и превратить объект в умный словарь или вычисляемый массив. Это позволяет писать очень выразительный код.
Пример: создадим класс, который хранит функцию и вычисляет результат «на лету» при обращении по индексу:
class PowTable:
def __init__(self, power):
self.power = power
def __getitem__(self, n):
return n ** self.power
squares = PowTable(2)
cubes = PowTable(3)
print(squares[5]) # 25
print(cubes[4]) # 64
👉 В итоге obj[x] может не просто доставать значение, а вычислять его динамически.
Это мощный приём для DSL, кэшей и ленивых вычислений.
❤11🔥7👍6😱4