IceCream — это библиотека, которая предоставляет простой и эффективный способ отладки кода. Вместо того чтобы использовать функцию print() для отладки, вы можете использовать функцию ic() из библиотеки IceCream, которая позволяет вам инспектировать переменные, выражения и выполнение программы с помощью одного простого вызова функции.В этом примере кода вывод
ic| указывает на то, что это вывод от IceCream, а result: 6 — имя переменной и ее значение.IceCream может быть использован в любом месте, где требуется отладка кода: веб-разработка, научные вычисления, анализ данных и т.д.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍5❤2
Telethon — это библиотека Python, которая позволяет вам взаимодействовать с API Telegram. Вы можете отправлять, получать или ждать новых сообщений Telegram внутри вашего Python-приложения. Вы также можете отправлять файлы контакту или группе контактов.
В этом примере мы настраиваем автоматическое отправление файлов в группу.
*Для работы этого кода вам нужно только получить ID и хэш Telegram API (что можно сделать за несколько минут).
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍5🔥1
В примере выше первая и вторая строчки очень похожи, но различаются видами скобок. В списковом включении они квадратные, а в генераторном выражении – круглые.
Нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы — используйте генераторы коллекций.
А если же значения понадобятся еще не скоро или неизвестно, понадобится ли они вообще, то предпочтительнее генераторы, чтобы не занимать лишнюю память и не нагружать систему.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🔥1
Если необходимо найти несколько наиболее часто повторяющихся значений, лучше воспользоваться счетчиком
Counter из библиотеки collections.Метод
Counter.most_common(x) возвращает x кортежей, в которых первое значение – элемент, а второе – количество его повторений.Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4❤2
Допустим у нас в боте есть 4 команды:
/start, /info, /admin и /send.
старт должен быть доступен всем пользователям. Инфо только в группах, админ для админов чатов, а сенд для админов Бота (определенные пользователи). Все это можно реализовать с помощью CommandScope!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥1
Библиотека 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
👍9❤2🤷♀1🔥1
Для разбиения видео на n количество изображений вам понадобится использовать библиотеку OpenCV в Python.
В этом примере функция
video_to_images принимает путь к видео (video_path) и количество желаемых изображений (frames_count). Она открывает видеофайл, читает каждый кадр и сохраняет каждый "шаг" кадров как отдельное изображение. Затем функция прекращает обработку, когда необходимое количество изображений сохранено.Обратите внимание, что код использует целочисленное деление
// и целочисленное преобразование int() для обеспечения, чтобы каждое изображение было сохранено через примерно одинаковое количество кадров, чтобы равномерно распределить их по времени видео.Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4🔥1
Иногда возникает необходимость остановить выполнение программы, чтобы можно было выполнить несколько других операций, или просто из-за требуемой утилиты. В такой ситуации может пригодиться функция sleep(), которая обеспечивает точный и гибкий способ остановки потока кода на любой период времени.
В нашем примере время начала и время окончания будут напечатаны с задержкой в 6 секунд.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥2
Списковое включение — самый эффективный способ итерации любого списка. Это итерирование однострочного списка с включением в него цикла. Посмотрите приведенный ниже пример кода, чтобы понять, как это работает.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🤨2🔥1👾1
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
👍9❤4🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
👌6👍3❤2🔥1
Пакет
spellchecker позволяет отыскать ошибки в тексте, а также может предложить варианты исправлений. В примере проходимся по списку из двух слов, из которых одно ('therre') написано с опечаткой. Функция correction замечает это и предлагает одно самое вероятное исправление, а candidates — несколько.Библиотека поддерживает шесть языков.
Документацию можно найти здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥1
Изменяемые данные (например, словари или списки) — это структуры, к которым могут быть добавлены новые значения.
Неизменяемые данные, в противоположность изменяемым, после создания остаются неизменными. Посмотрите, как можно преобразовать изменяемый тип данных в неизменяемый.
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
Хабр
10 тяжёлых истин о работе программиста, про которые никто не предупреждает
В прошлые выходные мне представилась возможность пообщаться с только что выпустившимися студентами. Сейчас они ищут свою первую работу в разработке ПО. В разговоре с ними я понял, что они довольно...
👍10❤3🔥2
Библиотека
Snowballstemmer предоставляет функциональность стемминга, то есть преобразования слов в их базовую форму. Эта библиотека реализует алгоритм Портера, который является одним из наиболее известных алгоритмов стемминга.
Snowballstemmer поддерживает алгоритмы стемминга для 15 языков, включая русский.*Стемминг применяется в поисковых системах для расширения поискового запроса пользователя, является частью процесса нормализации текста.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥2
while , чем for? while в Python целесообразно в случае, когда число итераций заранее неизвестно или зависит от условий во время выполнения программы. Например, когда нужно повторять определенные действия до тех пор, пока не будет выполнено определенное условие.for удобно использовать, когда известно количество итераций, например, когда нужно перебрать все элементы в списке или выполнить действия определенное количество раз.while, когда требуется гибкость в управлении итерациями, а цикл for - для ситуаций, когда количество итераций известно заранее.Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤3🔥1😁1