Справочник Программиста
6.37K subscribers
1.29K photos
376 videos
64 files
1.62K links
По рекламе - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Предложить идею: @it_start_suggestion_bot
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Код для генерации мемов на основе случайных шаблонов и текстов на Python

Для получения шаблона мема в коде используются библиотеки requests и random, а для работы с изображением - Pillow.

➡️Установка библиотек: pip install requests Pillow

import requests
from PIL import Image, ImageDraw, ImageFont
import random


# Получаем случайный шаблон мемов
def get_random_meme_template():
url = "https://api.imgflip.com/get_memes"
response = requests.get(url).json()
memes = response['data']['memes']
meme = random.choice(memes)
return meme['url']


# Создаём мем
def create_meme(image_url, text):
img = Image.open(requests.get(image_url, stream=True).raw)
draw = ImageDraw.Draw(img)

# Задаём параметры шрифта
font = ImageFont.truetype("arial.ttf", 40)

# Получаем размеры текста
text_bbox = draw.textbbox((0, 0), text, font=font)
text_width = text_bbox[2] - text_bbox[0]
text_height = text_bbox[3] - text_bbox[1]

# Смещаем текст выше от нижнего края
padding = 50 # Отступ от нижнего края
position = ((img.width - text_width) / 2, img.height - text_height - padding)

# Рисуем текст на изображении
draw.text(position, text, font=font, fill="white", stroke_fill="black", stroke_width=2)
img.save("meme.png")
print("Мем создан и сохранен как meme.png.")


meme_url = get_random_meme_template()
text = input("Введите текст для мема: ")
create_meme(meme_url, text)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6😁42
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека Pyglet в Python

Библиотека Pyglet предназначенная для разработки мультимедийных приложений, включая игры и другие графические приложения.

Проста в использовании, поддерживает работу с графикой, звуком и видео, а также имеет удобный интерфейс для работы с окнами.

Основные возможности библиотеки:
🔵Графика:
🟢Работа с 2D- и 3D-графикой.
🟢Поддержка OpenGL для отрисовки.
🟢Работа с текстурами и шейдерами.
🟢Возможность загрузки и отображения изображений в различных форматах (PNG, JPEG и др.).
🔵Звук:
🟢Поддержка воспроизведения аудио в формате WAV, MP3, OGG и других.
🟢Обработка звуковых эффектов.
🔵Видео: Воспроизведение видеофайлов с поддержкой различных форматов.
🔵Работа с окнами:
🟢Создание окон с произвольными размерами и настройками.
🟢Обработка ввода от клавиатуры и мыши.
🔵События и анимация:
🟢Реализация системы событий для взаимодействия с пользователем.
🟢Лёгкая работа с анимациями.

➡️Установка библиотеки: pip install pyglet

📱 Репозиторий
⚙️ Документация
Примеры

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥2
👀 Библиотека TerminalTextEffects в Python

Библиотека
TerminalTextEffects позволяет создавать анимированные текстовые эффекты прямо в терминале.

Работает как в виде самостоятельного приложения, так и в качестве библиотеки, которую можно интегрировать в Python-скрипты.

Основные возможности библиотеки:
🔵Поддержка 256 цветов и RGB-градиентов.
🔵Создание анимаций с использованием сложных траекторий и кривых Безье.
🔵Множество встроенных эффектов, таких как "Матрица", "Фейерверк", "Цветные волны" и другие.
🔵Гибкие настройки кадровой частоты и размеров "канваса" для отображения текста.
🔵Возможность использования библиотеки без сторонних зависимостей.

➡️Установка библиотеки: pip install terminaltexteffects

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3❤‍🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для создания слайд-шоу с плавными переходами на Python

Для склейки создания слайд-шоу в коде используется библиотека movis.

➡️Установка библиотек: pip install movis

import movis as mv

# Создание видеосцены размером 1920x1080 пикселей, продолжительностью 10 секунд.
scene = mv.layer.Composition(size=(1920, 1080), duration=10.0)

# Список путей к изображениям, которые будут добавлены в композицию.
images = ['image1.jpg', 'image2.jpg', 'image3.jpg']

# Цикл для перебора изображений и добавления их на видеосцену с определённым сдвигом по времени.
for i, img_path in enumerate(images):
# Добавление слоя изображения на композицию с временным сдвигом, зависящим от индекса.
image_layer = scene.add_layer(mv.layer.Image(img_path), offset=i * 3)

# Включение анимации прозрачности (opacity) для изображения, где прозрачность изменяется от 0 до 1 за 3 секунды.
image_layer.opacity.enable_motion().extend([0, 0.5], [0.0, 1.0])

# Запись композиции в видеофайл с именем 'slideshow.mp4'.
scene.write_video('slideshow.mp4')


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3❤‍🔥2
👀 Библиотека json-repair в Python

Библиотека json-repair предназначена для автоматического исправления ошибок в JSON-документах.

Помогает работать с поврежденными или плохо отформатированными JSON-файлами, делая их пригодными для обработки стандартными средствами, такими как json из стандартной библиотеки Python.

Основные возможности библиотеки:
🔵Исправление синтаксических ошибок в JSON:
🟢Неправильные или отсутствующие кавычки.
🟢Забытые запятые между элементами.
🟢Ошибки в использовании скобок ({}, []).
🟢Неэкранированные символы.
🔵Поддержка больших JSON-документов.
🔵Быстрая работа благодаря эффективной реализации.

➡️Установка библиотеки: pip install json-repair

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤‍🔥2🎄1
👀 Библиотека Niquests в Python

Библиотека Niquests представляет собой современное решение для выполнения HTTP-запросов. Создана как замена для популярной библиотеки requests.

Основные преимущества и особенности библиотеки:
🔵Поддержка новых протоколов: HTTP/2 и HTTP/3 (включая QUIC), DNS через HTTPS, TLS, QUIC, DNSSEC и другие механизмы повышения безопасности.
🔵Совместимость: Полностью синхронная и асинхронная работа. Интерфейс совместим с requests, что упрощает миграцию.
🔵Повышенная производительность: Значительно быстрее других библиотек (requests, httpx, aiohttp) в многозадачных сценариях благодаря оптимизации соединений и мультиплексированию.
🔵Безопасность: Использует системные сертификаты (OS Trust Store). Поддерживает проверки отзыва сертификатов (OCSP).
🔵Расширенные возможности настройки сетевых соединений: Настраиваемое разрешение DNS. Прокси-серверы (SOCKS4/5, HTTP/HTTPS).

➡️Установка библиотеки: pip install niquests

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3❤‍🔥2
👀 Библиотека tkinter-tooltip в Python

Библиотека tkinter-tooltip предназначена для создания подсказок для виджетов в приложениях на tkinter.

Упрощает добавление подсказок, которые отображаются, когда пользователь наводит курсор мыши на определённый элемент интерфейса.

Основные особенности библиотеки:
🔵Простота использования: Предоставляет простые в использовании методы для добавления подсказок к виджетам, таким как кнопки, метки и другие элементы интерфейса.
🔵Настройки внешнего вида: Возможность настроить стиль подсказок, включая шрифт, цвет фона и текста, а также время появления подсказки.
🔵Автоматическое управление: Подсказка появляется и исчезает автоматически при наведении курсора на целевой виджет.

➡️Установка библиотеки: pip install tkinter-tooltip

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥4❤‍🔥2
👀 Библиотека PyDash в Python

Библиотека PyDash предоставляет множество утилит для работы с данными, упрощая манипуляции с коллекциями, строками, функциями и объектами.

Полезна для ускорения разработки и упрощения задач, которые могли бы потребовать написания множества строк кода. Основная цель — предоставить готовые функции для распространённых операций с данными.

Основные возможности библиотеки:
🔵Работа с коллекциями;
🔵Работа со строками;
🔵Манипуляции со словарями;
🔵Функциональное программирование;
🔵Математические операции;
🔵Утилиты для объектов и вложенных структур.

➡️Установка библиотеки: pip install pydash

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
💡 Код для генерации случайных фактов на Python

Для получения случайных фактов мы воспользуемся Useless Facts API.

Для обращения к API в коде используется библиотека requests, а для перевода текста на русский - googletrans (перевод правда ккорявенький).

➡️Установка библиотек: pip install requests googletrans==4.0.0-rc1

import requests
from googletrans import Translator

translate = Translator()
# URL для получения случайных фактов
url = "https://uselessfacts.jsph.pl/random.json"

# Отправляем GET-запрос
response = requests.get(url)

# Проверяем, успешен ли запрос
if response.status_code == 200:
fact = response.json().get("text")
fact_ru = translate.translate(fact, dest="ru").text
print(f"Случайный факт: {fact_ru}")
else:
print(f"Произошла ошибка: {response.status_code}")


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека VisPy в Python

Библиотека VisPy предназначена для визуализации данных и ориентирована на высокую производительность.

Использует OpenGL для рендеринга, что делает её подходящей для задач, требующих визуализации больших объемов данных в реальном времени.

Основные особенности библиотеки:
🔵Высокая производительность: Основана на OpenGL, что позволяет использовать аппаратное ускорение GPU. Подходит для визуализации больших массивов данных, таких как изображения, 3D-модели и графы.
🔵Гибкость: Поддерживает различные уровни абстракции. Можно работать с высокоуровневыми интерфейсами для простых визуализаций или использовать низкоуровневый доступ для тонкой настройки рендеринга.
🔵Поддержка интерактивных приложений: Интеграция с популярными графическими фреймворками, такими как PyQt, PySide, GLFW, WxPython и Tkinter. Возможность создания интерактивных 2D и 3D приложений.
🔵Широкий спектр приложений: Научная визуализация, создание интерактивных графиков, построение 3D-рендеров и визуализация геометрии.
🔵Кроссплатформенность: Работает на большинстве современных платформ (Windows, macOS, Linux).

➡️Установка библиотеки: pip install vispy

📱 Репозиторий
⚙️ Документация

📝Все примеры в видео взяты из документации.

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤‍🔥2
🎄Подборка новогодних видео по Python

Сборник №1
📹Новогодние программы на Python | Сборник №1
Включает:
❄️Игра "Укрась ёлочку"
❄️Анимированная открытка на Python
❄️Анимация снега на Python | 3 Способа

🎞 YouTube
🌟 Дзен

Сборник №2
📹 3 Новогодние программы на Python | Сборник №2
Включает:
❄️Добавление анимированного снега на изображение на Python
❄️Анимированная новогодняя 3D ёлка на Python
❄️Пишем приложение для надевания новогодней шапки на людей на Python

🎞 YouTube
🌟 Дзен

P.S. Может до конца декабря вместо 🔵 использовать ❄️? Если вам нравится идея, то ставьте реакцию ☃️

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
14❤‍🔥2🔥2
👀 Библиотека pipe в Python

Библиотека pipe предоставляет удобный функционал для создания ленивых потоков данных, похожих на Unix-конвейеры, но в контексте Python. Позволяет обрабатывать итераторы и последовательности, используя функциональный подход.

Добавляет специальный объект Pipe (|), который позволяет создавать цепочки методов для обработки данных. Все методы записываются в удобной и читаемой форме с помощью оператора | (pipe).

Основные особенности библиотеки:
🔵Работает с любыми итераторами.
🔵Поддерживает ленивую обработку данных, что экономит память и улучшает производительность.
🔵Повышает читаемость кода за счет декларативного подхода.

➡️Установка библиотеки: pip install pipe

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍3🔥2
py2many — это инструмент на Python, который помогает автоматически конвертировать Python-код в другие языки программирования.

Предоставляет поддержку для нескольких языков и используется, чтобы облегчить переносимость кода между различными экосистемами.

Основные возможности:
❄️Конвертация на несколько языков: поддерживает Генерацию кода для следующих языков: C++, Rust, Go, Kotlin, Dart, Nim, Zig, TypeScript
❄️Сохранение структуры Python-кода: Генерируемый код старается сохранить исходную логику Python, делая преобразование максимально прямолинейным.
❄️Упрощение портирования: Инструмент полезен для проектов, которым нужно поддерживать одну логику на нескольких языках.
❄️Использование аннотаций типов: Полагается на типы, указанные в аннотациях Python. Без них конвертация может быть невозможна или неточной.

➡️Установка: pip install py2many

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3❤‍🔥2