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 — головні інсайти року 
