Python Portal
Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Менеджер: @Spiral_Yuri РКН: https://clck.ru/3GMMF6
Больше📈 Аналитический обзор Telegram-канала Python Portal
Канал Python Portal (@pythonportal) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 52 335 подписчиков, занимая 2 560 место в категории Технологии и приложения и 11 934 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 52 335 подписчиков.
Согласно последним данным от 13 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -821, а за последние 24 часа — -28, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 9.36%. В первые 24 часа после публикации контент обычно набирает 5.67% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 4 902 просмотров. В течение первых суток публикация набирает 2 970 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 26.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как строка, none, true, модуль, peter.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Всё самое интересное из мира Python
Сотрудничество, реклама: @devmangx
Менеджер: @Spiral_Yuri
РКН: https://clck.ru/3GMMF6”
Благодаря высокой частоте обновлений (последние данные получены 14 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
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() — освобождаем ресурсы и сохраняем файл.
👉 @PythonPortalimport 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)
🔹linspace создаёт равномерные значения по X и Y
🔹meshgrid строит двумерную сетку координат
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()
👉 @PythonPortalpip, но и такие инструменты, как 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
👉 @PythonPortal@pytest.mark.skipif, чтобы условно пропускать тесты в зависимости от определённых условий — например, платформы, наличия зависимостей или значений переменных окружения
Декоратор @pytest.mark.skipif(...) указывает Pytest пропустить выполнение теста, если условие истинно.
В примере, тест пропускается, если используется Python версии ниже 3.9, потому что оператор объединения словарей (|) появился только в Python 3.9.
Аргумент reason сообщает причину пропуска, которая отображается в отчёте Pytest.
👉 @PythonPortal
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
