This media is not supported in your browser
VIEW IN TELEGRAM
Практический Python от Дэвида Бизли (один из самых уважаемых экспертов по Python, автор книги "Python Essential Reference")
Курс учит не просто писать код, а думать как интерпретатор, избегая фреймворков. Всё на голом Python, от функций до генераторов и итераторов
Материал подаётся плотно, с минимальной теорией и сразу с практикой.
Курс доступен онлайн, без регистрации и бесплатно, включая слайды, заметки и упражнения🤔
Ссылка на курс: тык
👉 @PythonPortal
Курс учит не просто писать код, а думать как интерпретатор, избегая фреймворков. Всё на голом Python, от функций до генераторов и итераторов
Материал подаётся плотно, с минимальной теорией и сразу с практикой.
Курс доступен онлайн, без регистрации и бесплатно, включая слайды, заметки и упражнения
Ссылка на курс: тык
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥37👍10❤8🤣2
Text-to-Speech нового уровня
Chatterbox — первый open-source TTS, готовый к продакшену.
➣ Задержки менее 200 мс
➣ Синтеза речи нулевого выстрела (zero-shot) на уровне SoTA
➣ Управления эмоциями и выразительностью
Полностью open-source😱
👉 @PythonPortal
Chatterbox — первый open-source TTS, готовый к продакшену.
➣ Задержки менее 200 мс
➣ Синтеза речи нулевого выстрела (zero-shot) на уровне SoTA
➣ Управления эмоциями и выразительностью
Полностью open-source
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19👍6
Совет по Pytest:
Используйте
Декоратор
В примере, тест пропускается, если используется Python версии ниже 3.9, потому что оператор объединения словарей (|) появился только в Python 3.9.
Аргумент
👉 @PythonPortal
Используйте
@pytest.mark.skipif
, чтобы условно пропускать тесты в зависимости от определённых условий — например, платформы, наличия зависимостей или значений переменных окруженияДекоратор
@pytest.mark.skipif(...)
указывает Pytest пропустить выполнение теста, если условие истинно.В примере, тест пропускается, если используется Python версии ниже 3.9, потому что оператор объединения словарей (|) появился только в Python 3.9.
Аргумент
reason
сообщает причину пропуска, которая отображается в отчёте Pytest.Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤6🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Это библия для разработчиков: вся нужная документация в одном месте
✓ Языки программирования, библиотеки, фреймворки
✓ Поиск сразу по всем источникам
✓ Всегда актуальные версии
Дока обновляется каждый день. Открывай в одной вкладке хоть Python, Postgres и Bash
Никакой рекламы, всё супербыстро → devdocs․io😱
👉 @PythonPortal
✓ Языки программирования, библиотеки, фреймворки
✓ Поиск сразу по всем источникам
✓ Всегда актуальные версии
Дока обновляется каждый день. Открывай в одной вкладке хоть Python, Postgres и Bash
Никакой рекламы, всё супербыстро → devdocs․io
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29👍8🤯4🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Это одно из самых безумных расширений для VS Code, что я видел за последнее время
GitLantis визуализирует структуру проекта в виде 3D-подводного мира. Да, буквально — ты «плаваешь» по директориям, как по рифам в Атлантике. Атмосферно и безумно красиво😮
👉 @PythonPortal
GitLantis визуализирует структуру проекта в виде 3D-подводного мира. Да, буквально — ты «плаваешь» по директориям, как по рифам в Атлантике. Атмосферно и безумно красиво
Please open Telegram to view this post
VIEW IN TELEGRAM
😁79👍25🤔8❤7💊6👀3🌚1
This media is not supported in your browser
VIEW IN TELEGRAM
uv — это пакетный менеджер для Python, написанный на Rust и созданный с прицелом на скорость и надёжность.
uv — невероятно быстрый
- Создание виртуальных окружений с помощью uv примерно в 80 раз быстрее, чем через python -m venv.
- Установка пакетов происходит в 4–12 раз быстрее без кэша и примерно в 100 раз быстрее с кэшированием.
Он заменяет не только
Вот шпаргалка по uv для Python-разработчиков♟
🔹
— Инициализирует новый Python-проект с дефолтной структурой.
🔹
— Создаёт новое виртуальное окружение в текущем проекте.
🔹
— Добавляет пакет в зависимости проекта.
🔹
— Устанавливает все зависимости из файла requirements.txt.
🔹
— Удаляет указанный пакет из зависимостей проекта.
🔹
— Запускает Python-скрипт или команду внутри окружения проекта.
🔹
— Синхронизирует зависимости проекта в соответствии с uv.lock.
🔹
— Устанавливает Python CLI-инструмент как глобальный тул.
Пример:
🔹
— Запускает CLI-инструмент во временном окружении без установки.
Пример:
👉 @PythonPortal
uv — невероятно быстрый
- Создание виртуальных окружений с помощью uv примерно в 80 раз быстрее, чем через python -m venv.
- Установка пакетов происходит в 4–12 раз быстрее без кэша и примерно в 100 раз быстрее с кэшированием.
Он заменяет не только
pip
, но и такие инструменты, как pip-tools, virtualenv, pipx, poetry
и pyenv
— всё в виде одного standalone-бинарника.Вот шпаргалка по uv для Python-разработчиков
uv init <project-name>
— Инициализирует новый Python-проект с дефолтной структурой.
uv venv
— Создаёт новое виртуальное окружение в текущем проекте.
uv add <package-name>
— Добавляет пакет в зависимости проекта.
uv pip install -r requirements.txt
— Устанавливает все зависимости из файла requirements.txt.
uv remove <package-name>
— Удаляет указанный пакет из зависимостей проекта.
uv run script.py
— Запускает Python-скрипт или команду внутри окружения проекта.
uv sync
— Синхронизирует зависимости проекта в соответствии с uv.lock.
uv tool install <tool-name>
— Устанавливает Python CLI-инструмент как глобальный тул.
Пример:
uv tool install ruff
uvx <tool> [args]
— Запускает CLI-инструмент во временном окружении без установки.
Пример:
uvx black script.py
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33❤16🔥9🏆2
3D контурный график на Python
1. Импортируем библиотеки:
> numpy — для работы с массивами
> matplotlib.pyplot — для построения графиков
> mpl_toolkits.mplot3d — модуль для 3D-графиков
2. Создаём координатную сетку:
🔹 linspace создаёт равномерные значения по X и Y
🔹 meshgrid строит двумерную сетку координат
3. Определяем функцию:
Это функция поверхности, значения которой будут отображаться через контуры по оси Z
4. Вычисляем значения Z:
Получаем двумерный массив значений Z для каждой точки (X, Y)
5. Создаём фигуру и 3D-подграфик:
Создаём фигуру и добавляем 3D‑ось
6. Рисуем контуры в 3D:
> contour3D рисует линии уровня
> 50 — число уровней
> cmap='viridis' — цветовая палитра
7. Подписываем оси и добавляем шкалу:
Добавляем подписи и цветовую шкалу (colorbar) для значений Z
8. Показываем график:
👉 @PythonPortal
1. Импортируем библиотеки:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
> numpy — для работы с массивами
> matplotlib.pyplot — для построения графиков
> mpl_toolkits.mplot3d — модуль для 3D-графиков
2. Создаём координатную сетку:
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
3. Определяем функцию:
def f(x, y):
return np.sin(np.sqrt(x**2 + y**2))
Это функция поверхности, значения которой будут отображаться через контуры по оси Z
4. Вычисляем значения Z:
Z = f(X, Y)
Получаем двумерный массив значений Z для каждой точки (X, Y)
5. Создаём фигуру и 3D-подграфик:
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(111, projection='3d')
Создаём фигуру и добавляем 3D‑ось
6. Рисуем контуры в 3D:
contour = ax.contour3D(X, Y, Z, 50, cmap='viridis')
> contour3D рисует линии уровня
> 50 — число уровней
> cmap='viridis' — цветовая палитра
7. Подписываем оси и добавляем шкалу:
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_zlabel('Z-axis')
fig.colorbar(contour, ax=ax, label='Z values')
Добавляем подписи и цветовую шкалу (colorbar) для значений Z
8. Показываем график:
plt.show()
Please open Telegram to view this post
VIEW IN TELEGRAM
❤32👍12🤯8
Ultimate Python — практичный гайд по чистому Python
Мини‑модули по ключевым темам Python, от переменных до многопоточности. Учишься по шагам.
Никаких сторонних библиотек — тык
👉 @PythonPortal
Мини‑модули по ключевым темам Python, от переменных до многопоточности. Учишься по шагам.
Никаких сторонних библиотек — тык
Please open Telegram to view this post
VIEW IN TELEGRAM
❤30🏆3👍2
Экранный рекордер с помощью Python
🔸
🔸
🔸
🔸
🔸
Старт записи
Сообщение пользователю, что началась запись и как её остановить.
Главный цикл записи
Что происходит:
🔸
🔸
🔸
🔸
Остановка по нажатию клавиши 'q'
Как только пользователь нажимает клавишу 'q', цикл прерывается.
Сохраняем и закрываем файл
🔸
👉 @PythonPortal
screen_size = pyautogui.size()
fps = 20
fourcc = cv2.VideoWriter_fourcc(*"XVID")
output_file = "screen_recording_clcoding.mp4"
out = cv2.VideoWriter(output_file, fourcc, fps, (screen_size.width, screen_size.height))
screen_size = pyautogui.size()
— получаем разрешение экрана (ширину и высоту).fps = 20
— задаём частоту кадров (20 кадров в секунду).fourcc
— кодек видео (XVID).output_file
— имя файла для сохранения.cv2.VideoWriter(...)
— создаёт объект, который будет записывать кадры в видеофайл.Старт записи
print("Recording... Press 'q' to stop.")
Сообщение пользователю, что началась запись и как её остановить.
Главный цикл записи
while True:
screen = pyautogui.screenshot()
frame = np.array(screen)
frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)
out.write(frame)
Что происходит:
pyautogui.screenshot()
— делает скриншот всего экрана.np.array(screen)
— переводим скриншот в массив пикселей.cv2.cvtColor(..., cv2.COLOR_RGB2BGR)
— OpenCV использует BGR-порядок, а pyautogui возвращает RGB, нужно преобразовать.out.write(frame)
— сохраняем кадр в видеофайл.Остановка по нажатию клавиши 'q'
if keyboard.is_pressed('q'):
print("Recording stopped.")
break
Как только пользователь нажимает клавишу 'q', цикл прерывается.
Сохраняем и закрываем файл
out.release()
print(f"Video saved to {output_file}")
out.release()
— освобождаем ресурсы и сохраняем файл.Please open Telegram to view this post
VIEW IN TELEGRAM
👍28❤10🏆2
This media is not supported in your browser
VIEW IN TELEGRAM
Эта фича в VS Code — суперсила, о которой 90% разработчиков не знают
Называется Forward Port и позволяет пробросить локальный порт в интернет и поделиться своим проектом снаружи.🫥
👉 @PythonPortal
Называется Forward Port и позволяет пробросить локальный порт в интернет и поделиться своим проектом снаружи.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61❤14🔥6🤔5
45 бесплатных Python-руководств (копируй и запускай) по алгоритмической торговле.
Всё выложено бесплатно на GitHub: https://github.com/quant-science/sunday-quant-scientist💪
👉 @PythonPortal
Всё выложено бесплатно на GitHub: https://github.com/quant-science/sunday-quant-scientist
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25❤7🤝4🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Это расширение для VS Code от Google — настоящий геймченджер
Позволяет запускать Gemini прямо внутри редактора, выступая в роли умного AI-помощника для программирования.
Отличная альтернатива таким инструментам, как GitHub Copilot✊
👉 @PythonPortal
Позволяет запускать Gemini прямо внутри редактора, выступая в роли умного AI-помощника для программирования.
Отличная альтернатива таким инструментам, как GitHub Copilot
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31❤11🔥2🌚2👀1
Python позволяет выровнять текст по центру одной строкой.
Без вычислений и форматных хаках.
Можно даже задать символ для заполнения.
Отлично подходит для баннеров, логов или текстовых интерфейсов в терминале.🐸
👉 @PythonPortal
Без вычислений и форматных хаках.
Можно даже задать символ для заполнения.
Отлично подходит для баннеров, логов или текстовых интерфейсов в терминале.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥54❤13👍11
This media is not supported in your browser
VIEW IN TELEGRAM
Зацени. Microsoft выложила в open-source инструмент для анализа данных без кода.
Data Formulator — это AI‑ассистированный анализ данных с drag-and-drop интерфейсом для визуализации.
Инструмент умеет работать не только с исходным датасетом, но и генерировать дополнительные поля и соответствующие визуализации.👍
👉 @PythonPortal
Data Formulator — это AI‑ассистированный анализ данных с drag-and-drop интерфейсом для визуализации.
Инструмент умеет работать не только с исходным датасетом, но и генерировать дополнительные поля и соответствующие визуализации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26❤7🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Нашёл годный инструмент для работы с базами данных
Это AI-инструмент, который на лету генерирует схемы баз данных из обычного текста. Пишешь: «Сделай базу как у Netflix» — получаешь готовую структуру с таблицами, связями и диаграммами
Можно править, генерить фейковые данные, импортить из CSV и деплоить в Supabase в один клик.
Бесплатно, пробуем: https://database.build/
👉 @PythonPortal
Это AI-инструмент, который на лету генерирует схемы баз данных из обычного текста. Пишешь: «Сделай базу как у Netflix» — получаешь готовую структуру с таблицами, связями и диаграммами
Можно править, генерить фейковые данные, импортить из CSV и деплоить в Supabase в один клик.
Бесплатно, пробуем: https://database.build/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17❤13👍8
Всё ещё используешь
В Python есть более элегантный способ —
Идеально подходит для чистых циклов, вывода с метками или нумерации строк в файлах.
Попробуй.
👉 @PythonPortal
range(len(...))
, чтобы получить индексы?В Python есть более элегантный способ —
enumerate()
, который автоматически добавляет индекс.Идеально подходит для чистых циклов, вывода с метками или нумерации строк в файлах.
Попробуй.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤64👍24🔥16😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Для деплоя AI-приложений в Python тебе нужен всего один декоратор
Beam — это open-source альтернатива Modal для запуска serverless AI-нагрузок.
Просто установи beam через pip, добавь декоратор и любая функция превращается в serverless endpoint😎
Полностью open-source
👉 @PythonPortal
Beam — это open-source альтернатива Modal для запуска serverless AI-нагрузок.
Просто установи beam через pip, добавь декоратор и любая функция превращается в serverless endpoint
Полностью open-source
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤9🔥2🤔1
Большинство разработчиков распаковывают значения вроде (
Но Python умеет распаковывать вложенные кортежи напрямую.
Чисто, без индексов и костылей.
Отлично подходит для координат, строк из CSV или любых парных данных.
👉 @PythonPortal
x, y
) вручную в циклах.Но Python умеет распаковывать вложенные кортежи напрямую.
Чисто, без индексов и костылей.
Отлично подходит для координат, строк из CSV или любых парных данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤35👍12🔥6😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Этот трюк в VS Code недооценён и 99% разработчиков даже не знают о его существовании 🤯
Он называется Screencast Mode и отображает все нажатия клавиш и клики мыши прямо на экране
👉 @PythonPortal
Он называется Screencast Mode и отображает все нажатия клавиш и клики мыши прямо на экране
Please open Telegram to view this post
VIEW IN TELEGRAM
👍49🔥17❤12🤣8
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣66❤18😁13👍5