Pythoner
7.21K subscribers
861 photos
28 videos
4 files
656 links
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику.

Сотрудничество - @flattys
Цены - @serpent_media

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
📷Разбиваем видео на n кол-во изображений

Для разбиения видео на n количество изображений вам понадобится использовать библиотеку OpenCV в Python.

В этом примере функция video_to_images принимает путь к видео (video_path) и количество желаемых изображений (frames_count). Она открывает видеофайл, читает каждый кадр и сохраняет каждый "шаг" кадров как отдельное изображение. Затем функция прекращает обработку, когда необходимое количество изображений сохранено.

Обратите внимание, что код использует целочисленное деление // и целочисленное преобразование int() для обеспечения, чтобы каждое изображение было сохранено через примерно одинаковое количество кадров, чтобы равномерно распределить их по времени видео.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🔥1
🐍Усыпляем программу

Иногда возникает необходимость остановить выполнение программы, чтобы можно было выполнить несколько других операций, или просто из-за требуемой утилиты. В такой ситуации может пригодиться функция sleep(), которая обеспечивает точный и гибкий способ остановки потока кода на любой период времени.

В нашем примере время начала и время окончания будут напечатаны с задержкой в 6 секунд.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥2
🖥Списковое включение (быстрый способ)

Списковое включение — самый эффективный способ итерации любого списка. Это итерирование однострочного списка с включением в него цикла. Посмотрите приведенный ниже пример кода, чтобы понять, как это работает.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🤨2🔥1👾1
🤣24👍10😁31👏1
🐍Asyncio

Asyncio - это библиотека в Python, которая предоставляет возможность написания асинхронного кода с использованием сопрограмм (coroutines) и ивент-лупа (event loop). С ее помощью можно создавать эффективные и отзывчивые асинхронные приложения, которые могут обрабатывать множество одновременных задач без блокировки потоков.

Asyncio позволяет выполнять несколько задач параллельно и управлять их выполнением, использовать механизмы ожидания (await) для управления асинхронными операциями, а также упрощает обработку исключений в асинхронном коде.

В примере на фото выше мы создаем две асинхронные задачи с помощью функции async_function, которая задерживается на определенное время и выводит сообщение. Затем мы запускаем обе задачи параллельно в функции main с помощью asyncio.create_task, дожидаемся их выполнения с помощью await и запускаем весь код с помощью asyncio.run(main()). В результате мы увидим вывод сообщений "Hello" через 1 секунду и "Asyncio" через 2 секунды.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🔥3
*⃣ Как хранить токены и пароли в программах на 🐍 Python?

🔍 У новичков часто возникает вопрос - где хранить секретные данные? Нет, можно, конечно, прямо в коде, но лучше так не делать. Делюсь короткой статьей с основными способами хранения токенов и прочих секретных данных 


➡️ u.habr.com/dSPXv 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
👌6👍32🔥1
Ищем опечатки

Пакет spellchecker позволяет отыскать ошибки в тексте, а также может предложить варианты исправлений. В примере проходимся по списку из двух слов, из которых одно ('therre') написано с опечаткой. Функция correction замечает это и предлагает одно самое вероятное исправление, а candidates — несколько.

Библиотека поддерживает шесть языков.

Документацию можно найти здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥1
😁177👍4
🐍Преобразование изменяемых данных в неизменяемые

Изменяемые данные (например, словари или списки) — это структуры, к которым могут быть добавлены новые значения.

Неизменяемые данные, в противоположность изменяемым, после создания остаются неизменными. Посмотрите, как можно преобразовать изменяемый тип данных в неизменяемый.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🔥1
Forwarded from Книжный Python
10 тяжёлых истин о работе программиста, про которые никто не предупреждает❗️

В этой статье автор имея большой опыт работы в этой отрасли,покажет новичкам какова жестокая реальность.Расскажет как о хороших аспектах, так и поделится неприятными истинами.

📖Статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥2
🐍Snowballstemmer

Библиотека Snowballstemmer предоставляет функциональность стемминга, то есть преобразования слов в их базовую форму.

Эта библиотека реализует алгоритм Портера, который является одним из наиболее известных алгоритмов стемминга. Snowballstemmer поддерживает алгоритмы стемминга для 15 языков, включая русский.

*Стемминг применяется в поисковых системах для расширения поискового запроса пользователя, является частью процесса нормализации текста.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥2
🐍В каком случае лучше использовать while , чем for?

➡️Использование цикла while в Python целесообразно в случае, когда число итераций заранее неизвестно или зависит от условий во время выполнения программы. Например, когда нужно повторять определенные действия до тех пор, пока не будет выполнено определенное условие.

➡️С другой стороны, цикл for удобно использовать, когда известно количество итераций, например, когда нужно перебрать все элементы в списке или выполнить действия определенное количество раз.

➡️Таким образом, в исходном коде лучше использовать цикл while, когда требуется гибкость в управлении итерациями, а цикл for - для ситуаций, когда количество итераций известно заранее.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍143🔥1😁1
🐍Функция islice()

islice() — это функция, которая является частью модуля itertools и используется для извлечения определенного количества элементов из итерируемого объекта.

Она позволяет получить подмножество элементов из последовательности без необходимости создавать новую последовательность.

Синтаксис функции islice() выглядит следующим образом:
islice(iterable, start, stop, step)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥32
➡️В Python абстрактный класс реализуется с помощью модуля abc (Abstract Base Classes).

⬆️В данном примере класс Animal является абстрактным, так как содержит абстрактный метод speak. Классы Dog и Cat наследуются от класса Animal и реализуют метод speak. Класс Animal нельзя инстанциировать напрямую, он служит лишь базовым классом для других классов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62👍2😍1
🐍С помощью DataCleaner вы можете легко выполнить ряд операций по очистке данных, что поможет вам улучшить качество данных и сделать их более подходящими для анализа и построения моделей машинного обучения.

➡️Таким образом, использование DataCleaner в Python поможет вам быстро и эффективно обработать данные, улучшить их качество и подготовить для дальнейшего анализа.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥1
🖥Celery - это асинхронный распределенный диспетчер задач для Python. Он позволяет выполнять асинхронные задачи в фоновом режиме, позволяя вашему приложению эффективно обрабатывать длительные задачи, такие как отправка email уведомлений, генерация отчетов, обработка изображений и другие операции, которые могут быть вынесены за пределы основного приложения.

Основные концепции Celery:

➡️. Задачи (Tasks): задачи представляют собой независимые операции, которые нужно выполнить асинхронно.

➡️ Рабочие узлы (Workers): рабочие узлы - это процессы или потоки Python, которые могут выполнять задачи. Они могут быть запущены на одном или нескольких серверах.

➡️ Брокер сообщений (Message Broker): брокер сообщений используется для передачи сообщений между приложением и рабочими узлами. Celery поддерживает различные брокеры, такие как RabbitMQ, Redis, Amazon SQS и другие.

➡️ Задания по расписанию (Periodic Tasks): Celery поддерживает запуск задач по расписанию, что позволяет автоматизировать выполнение повторяющихся задач.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥1
🐍Функция math.gcd() является частью модуля math в Python и используется для вычисления наибольшего общего делителя (НОД) двух чисел. Наибольший общий делитель двух чисел - это наибольшее число, которое делит оба числа без остатка.

⬆️В данном примере, math.gcd() вычисляет наибольший общий делитель для чисел 24 и 36, который равен 12.

➡️Функция math.gcd() также может принимать большее количество аргументов для вычисления их наибольшего общего делителя.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🔥1
🐍В Python вы можете объявить несколько присваиваний в одном выражении, разделяя их запятой. Это удобно, если вам нужно присвоить нескольким переменным одно и то же значение или присвоить несколько значений различным переменным.

⬆️В примере выше значение 1 будет присвоено переменной a, значение 2 - переменной b, и значение 3 - переменной c.

➡️Объявление нескольких присваиваний в одном выражении упрощает код и улучшает его читаемость, особенно в случаях, когда значения должны быть инициализированы или обменены между переменными.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113🔥1🗿1