Python Portal
Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Менеджер: @Spiral_Yuri РКН: https://clck.ru/3GMMF6
Show more📈 Analytical overview of Telegram channel Python Portal
Channel Python Portal (@pythonportal) in the Russian language segment is an active participant. Currently, the community unites 52 335 subscribers, ranking 2 560 in the Technologies & Applications category and 11 934 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 52 335 subscribers.
According to the latest data from 13 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -821 over the last 30 days and by -28 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 9.36%. Within the first 24 hours after publication, content typically collects 5.67% reactions from the total number of subscribers.
- Post reach: On average, each post receives 4 902 views. Within the first day, a publication typically gains 2 970 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 26.
- Thematic interests: Content is focused on key topics such as строка, none, true, модуль, peter.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Всё самое интересное из мира Python
Сотрудничество, реклама: @devmangx
Менеджер: @Spiral_Yuri
РКН: https://clck.ru/3GMMF6”
Thanks to the high frequency of updates (latest data received on 14 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
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
Available now! Telegram Research 2025 — the year's key insights 
