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

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

РКН: https://kurl.ru/uXZzR
Download Telegram
🐣 Задача по Python #37

Описание

Напишите генератор, который будет генерировать последовательность чисел Фибоначчи, но с ограничением по максимальному значению. Генератор должен прекратить работу, когда очередное число Фибоначчи превысит заданное ограничение.

Примеры
for num in fibonacci_with_limit(100):
print(num) # 1 1 2 3 5 8 13 21 34 55 89


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

#задачи
👍201
А это точно безопасно? 🤔
👍70🌚23🤡13🤔9🏆3🔥2
wxPython — библиотека, предоставляющая инструменты для создания графического пользовательского интерфейса (GUI).

Она основана на библиотеке wxWidgets(библиотека для C++) и позволяет разрабатывать кроссплатформенные приложения с помощью нативных элементов интерфейса для различных операционных систем.

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

Библиотека так-же обеспечивает создание GUI-приложений, которые могут работать на различных операционных системах, таких как Windows, macOS и Linux.

Ставится командой ⚙️ pip3 install wxPython
Документация и примеры кода здесь :3
👍33🤡32❤‍🔥1
А чё всмысле 🌚
🤯115😁32🌚17👍10🤔9🤡32🔥2🤩2🐳2😐1
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