Python - Советы, библиотеки, гайды
19.7K subscribers
1.17K photos
25 videos
6 files
590 links
Всё для Python программиста :3
Готовый код, советы, лайфхаки, годные библиотеки, уроки и многое другое!

Автор - Абрахам (@priler)

РКН: https://kurl.ru/uXZzR
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
tqdm — библиотека для создания красочных и информативных индикаторов выполнения (progress bar).

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

Основные особенности и преимущества tqdm:
• Простота использования: tqdm предоставляет простой и интуитивно понятный способ добавить индикатор выполнения в циклы или операции.
• Гибкость: Библиотека позволяет настраивать внешний вид индикатора, включая стиль, цвет и текстовые сообщения.
• Оценка времени ожидания: tqdm автоматически вычисляет и отображает оценку времени, оставшегося до завершения операции, что полезно для ориентирования пользователей по временным рамкам.

Ставится командой ⚙️ pip3 install tqdm
Документация и примеры кода здесь :3
27👍7❤‍🔥21
Кажется, найден достойный соперник...
😱133😁21👍11🌚8😐7🤩4❤‍🔥33
🍳 Задача по Python #38

Описание

Нужно написать функцию calculate, которая на вход принимает единственное действительное число A, а на выход возвращает такое число x, которое удовлетворяет выражению x²+√x = A. Ответ должен быть с относительной погрешностью 10^(-6).

Примеры
calculate(2.0) # 1.0
calculate(15.6) # 3.69823217


Свой вариант решения в комментарии 💭
Кодом делиться через
pastebin.org или repl.it.

#задачи
19👍3🌚3🔥1🤔1
А чё всмысле 🌚
🌚125😁45👍5❤‍🔥4🤡3🔥2🤯2🍓2🤔1
zoneinfo — стандартный модуль, введенный в Python 3.9, который предоставляет удобные средства для работы с часовыми поясами и временем.

zoneinfo заменяет устаревший модуль pytz и обеспечивает более нативное и безопасное представление времени в различных часовых поясах.

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

Подробнее тут :3
👍32🌚21
Зато надёжно 🌚
😁141🌚11👍9💯62❤‍🔥1🔥1
Redis — это мощная in-memory база данных, которая предоставляет высокую производительность и надежность для хранения и обработки данных.

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

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

В данном примере мы создали простую функцию get_product_info, которая первым шагом проверяет, есть ли информация о продукте в кэше Redis. Если информация есть, она возвращается немедленно. В противном случае, функция запрашивает информацию из основной базы данных и сохраняет ее в Redis с помощью метода set. Это позволяет нам избежать частых запросов к базе данных и значительно ускоряет ответы на запросы

Ставится командой ⚙️ pip3 install redis
Документация и примеры кода здесь :3
24👍82
А чё всмысле 🌚
🤯87😁23🌚14👍12❤‍🔥53😐3🤡2
🐥 Задача по Python #39

Описание

Напишите функцию longest_sequence, которая принимает строку в качестве аргумента и возвращает длину самой длинной последовательности одинаковых символов в этой строке. Символы регистронезависимы.

Примеры
longest_sequence("aaabbBccc")     # 3 (ccc)
longest_sequence("Hello, world!") # 2 (ll)
longest_sequence("aabbbccddddd") # 5 (dd)
longest_sequence("xyz") # 1 (каждый символ - отдельная последовательность)


Свой вариант решения в комментарии 💭
Кодом делиться через
pastebin.org или repl.it.

#задачи
👍16
Нормальный такой курс с Python кодом в .css файле 🌚
❤‍🔥66😁15👍6🤔4🤯4🌚4
pyarmor — инструмент для защиты и обфускации программ.

pyarmor позволяет зашифровать исходный код Python, скрыть имена переменных и функций, а также создавать самодостаточные исполняемые файлы. Это особенно полезно, когда вам нужно предоставить скомпилированные версии вашего кода, но вы не хотите раскрывать его структуру.

Достаточно скачать модуль и запустить команду pyarmor obfuscate file.py для работы

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

Ставится командой ⚙️ pip3 install pyarmor
Документация и примеры кода здесь :3
👍34🤡21
Битва века 😈
👍110❤‍🔥14🐳13🏆7🤡6🔥3😁3🤯2🌚2🍓1
AbstractSet — класс, который определяет абстрактный базовый класс для множественных типов данных.

AbstractSet из модуля typing представляет собой абстрактный базовый класс для множественных типов данных, таких как set, frozenset и другие классы, поддерживающие множественные операции. Он может быть использован для аннотирования переменных или параметров функций, когда ожидается объект, поддерживающий операции множеств.

В примере выше мы написали функцию которая принимает два аргумента типа AbstractSet[int], представляющих множества целых чисел. Затем мы используем операцию & для нахождения общих элементов в множествах и возвращаем результат.

Использование AbstractSet позволяет указать, что функция ожидает объекты, которые поддерживают операции множеств, независимо от конкретной реализации множества.
👍18🤯52
Дескрипторы — мощный инструмент, позволяющий контролировать доступ к атрибутам объектов классов.

Дескрипторы представляют собой специальные объекты, определяющие дандер-методы, такие как __get__, __set__ и __delete__, которые управляют чтением, записью и удалением значений атрибутов. Дескрипторы часто используются для создания вычисляемых атрибутов, валидации входных данных и других аспектов, связанных с атрибутами класса.

В примере выше создается класс CelsiusToFahrenheit, который является дескриптором. Этот дескриптор определяет методы __get__ и __set__, которые контролируют доступ к атрибуту fahrenheit. Метод __get__ вызывается при попытке чтения атрибута, а метод set - при попытке записи значения атрибута.

Затем создается класс Temperature, у которого есть атрибут _celsius для хранения температуры в градусах Цельсия. В этом классе создается атрибут класса fahrenheit, который использует дескриптор CelsiusToFahrenheit.

При чтении значения атрибута fahrenheit, вызывается метод __get__ дескриптора, который выполняет преобразование температуры из градусов Цельсия в градусы Фаренгейта. При записи значения в атрибут fahrenheit, вызывается метод __set__, который выполняет обратное преобразование и сохраняет значение в атрибут _celsius.
👍273🤔2
Кажется, началось...
😱100🌚13🤯7👍3😁32🤡1
🐥 Задача по Python #40

Описание

Напишите функцию rgb_to_hex(r: int, g: int, b: int) -> str, которая принимает значения красного (r), зеленого (g) и синего (b) компонентов цвета (каждое в диапазоне от 0 до 255) и возвращает строку, представляющую цвет в HEX формате.

Примеры
rgb_to_hex(255, 192, 0) # ffc000
rgb_to_hex(0, 128, 255) # 0080ff

Свой вариант решения в комментарии 💭
Кодом делиться через
pastebin.org или repl.it.

#задачи
👍262❤‍🔥2🔥1🤡1
Появилась статья, которая объясняет что происходит когда запускаешь print("hello world") на Python :3
👍53🤯7🌚6🔥3🤡3😁21
__future__ — модуль, который позволяет программистам использовать функции и синтаксис, которые будут введены в будущих версиях языка. Это позволяет постепенно адаптировать свой код к новым изменениям и синтаксическим конструкциям, даже если текущая версия Python их ещё не поддерживает.

В примере выше мы импортировали async_annotations из модуля future, чтобы использовать аннотации типов для асинхронных функций. В более ранних версиях Python (до 3.5), асинхронные операции с использованием синтаксиса async/await не были поддержаны. Модуль future с атрибутом async_annotations позволяет добавить синтаксическую поддержку асинхронных операций с аннотациями типов для более ранних версий Python. Это может быть полезным, если вы хотите поддерживать код, который будет работать и в более старых версиях Python до перехода на более новые версии.

Подробнее тут :3
👍221
Как же жизненно 🌚
🌚141😁18👍10💯42🤯2🤡2