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

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

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
⁉️ А вы знали что для разных людей можно делать разные меню команд в Телеграм ботах?

👀 Не поняли? Сейчас объясню.
Допустим у нас в боте есть 4 команды:
/start, /info, /admin и /send.
старт должен быть доступен всем пользователям. Инфо только в группах, админ для админов чатов, а сенд для админов Бота (определенные пользователи). Все это можно реализовать с помощью CommandScope!

🌐 Чтобы такое сделать, надо когда задаёте команды через bot.set_my_commands - передавать нужный скоуп. дока тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥1
📈Altair

Библиотека Altair - это инструмент для визуализации данных в Python, который основан на библиотеке Vega и предоставляет простой интерфейс для создания красивых и информативных графиков.

В примере на фото выше мы создаем набор данных с двумя столбцами 'x' и 'y', затем создаем точечный график с помощью Altair, используя эти столбцы в качестве осей x и y. Метод mark_circle(size=100) указывает, что на графике мы будем использовать круглые маркеры определенного размера для каждой точки.

Наконец, метод chart.show() отображает созданный точечный график.

Это простой пример, но с помощью Altair можно создавать более сложные и интересные визуализации данных, такие как линейные графики, столбчатые диаграммы или гистограммы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92🤷‍♀1🔥1
👍11😁72🤣2
📷Разбиваем видео на 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