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

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

РКН: https://kurl.ru/uXZzR
Download Telegram
🐥 Задача по 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
Суровая реальность 😔
Please open Telegram to view this post
VIEW IN TELEGRAM
💯75😢25👍8🌚6❤‍🔥1
textwrap — стандартный модуль, предоставляющий инструменты для форматирования и обертывания текста в удобочитаемый вид.

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

В примере выше мы использовали функцию shorten модуля textwrap чтобы сократить текст до желаемой длины

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

Подробнее тут :3
👍254❤‍🔥1🌚1
Ребят, мне нужен сетевой специалист с опытом работы в Python... Срочно...
👍106😁40🌚84🏆4😱1
🍳 Задача по Python #41

Описание

Вам предоставляется список целых чисел и индекс n. Ваша задача - поменять местами значения первого и последнего элементов списка, второго и предпоследнего элементов списка и так далее до индекса n.

Примеры
reverse_indices([1, 2, 3, 4, 5, 6], 2) # [3, 2, 1, 4, 5, 6]

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

#задачи
🔥121👍1
🧠 Заметили ошибку в коде? Знаете, как исправить?

Даже если нет, мы поможем разобраться! Погрузитесь в мир программирования с Яндекс Лицеем! Прокачайтесь в Python, Go, Django и многом другом 🚀
🤡73👍3512❤‍🔥7🔥52🌚2💯1
Кажется, найден минус Python 😳
Please open Telegram to view this post
VIEW IN TELEGRAM
👍76😢14🔥3😁3🤡32
В мире Python есть нечто волшебное и загадочное, что позволяет вам создавать магию в собственных классах.. Они называются "магическими методами" 😱

Эти специальные методы начинаются и заканчиваются двумя подчеркиваниями, и они предоставляют нам управление над различными аспектами объектов и операций.

Представим что у нас есть класс Vector, который представляет собой вектор(🤯) в двумерном пространстве. Для добавления двух векторов вам, возможно, захочется использовать оператор + но как объяснить Python, как складывать объекты этого класса? 😦

Здесь-то нам и пригодятся магические методы. При использовании оператора +, Python автоматически ищет метод add() в объектах, чтобы выполнить соответствующее действие. Для нашего класса Vector, мы можем определить метод add() для определения сложения векторов(см. пример выше)

P.S. init это метод, который автоматически вызывается при создании нового экземпляра класса. Он используется для инициализации начальных значений атрибутов объекта и принимает как минимум один аргумент(в данном случае self), который ссылается на сам объект.
👍53😐61🤡1
У Яндекс-Лицея появилась такая реклама. Напишите какая ошибка будет при запуске такой функции 🌚
👍42😐19🤡112❤‍🔥21
В современном программировании одна из самых ценных валют - это время 🤑💷

Модуль multiprocessing предоставляет инструменты для параллельного выполнения кода, позволяя использовать многопроцессорные системы и ускоряя выполнение задач.

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

В примере выше мы используем пул процессов для одновременной(почти. GIL, всё такое) обработки файлов(по комментариям, думаю, всё понятно)

Подробнее тут :3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2832❤‍🔥2
Пожал руку(?) легенде 😎
😁148🌚14🍓7👍65🤔4🎉1
🐥 Задача по Python #42

Описание

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

Примеры
count_unique_elements([1, 2, 2, 3, 3, 3, 4, 4, 4, 4])  # 4
count_unique_elements(['apple', 'banana', 'apple', 'cherry']) # 3
count_unique_elements([]) # 0

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

#задачи
🔥14👍3🤡3
А чё всмысле 🌚
🌚150😁25🤡14👍7🤔51🎉1
GeoPandas — библиотека для работы с геоданными.

GeoPandas предоставляет инструменты для обработки геометрических данных, анализа пространственных отношений и визуализации геоданных. GeoPandas строится на базе библиотек Pandas, Shapely и Matplotlib, что делает её удобным инструментом для работы с геоданными.

В примере выше мы загружаем данные о границах стран из GeoPandas. Затем мы выбираем границу Канады и применяем операторы assert для проверки геометрии:
• canada.geometry.is_empty.any() - проверяет, есть ли пустые геометрии. Если граница Канады имеет пустые геометрии, будет вызвано исключение AssertionError.
• canada.geometry.is_valid.all() - проверяет, что все геометрии действительны. Если какая-либо геометрия недействительна, будет вызвано исключение AssertionError.

Ставится командой ⚙️ pip3 install geopandas
Документация и примеры кода здесь :3
👍28❤‍🔥44🌚1
А чё всмысле 🌚
🌚133😁24👍9😐21🤔1🤡1
aiohttp — библиотека для работы с сетевыми запросами в асинхронном режиме

aiohttp предоставляет удобный и эффективный способ выполнять асинхронные HTTP запросы, обработки веб-сокетов и создания асинхронных веб-серверов

Эта библиотека особенно полезна, когда требуется множество параллельных HTTP запросов, например, при сборе данных с веб-страниц или общении с внешними API. aiohttp предоставляет удобный интерфейс для создания асинхронных HTTP клиентов и серверов, что позволяет эффективно управлять асинхронными задачами и достигать высокой производительности

На примере выше, думаю, всё понятно кроме asyncio.gather: с помощью asyncio.gather мы ожидаем завершения всех задач одновременно, что позволяет параллельно получать данные с нескольких URL

Модуль aiohttp, кстати, используется для запросов к Telegram API в aiogram

Ставится командой ⚙️ pip3 install aiohttp
Документация и примеры кода здесь :3
👍325❤‍🔥2🤡1
Он слишком гениален для этого мира...
🌚105🤯17🤡7😁5👍4❤‍🔥3😐21😢1