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

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

РКН: https://kurl.ru/uXZzR
Download Telegram
Хотите начать карьеру в IT?

Быстро освоить навыки и перейти к практике — легко! 

Платформа Deepskills представляет методику микрообучения, которая поможет вам быстро войти в профессию и получить работу мечты!

Курсы от практикующих экспертов.

Бесплатный пробный период в течение 14 дней, чтобы вы убедились в качестве нашего обучения.

Начни свой путь к успеху уже сегодня.

Учись на практике с Deepskills!
🤡15👍91
Его идеи будут актуальны всегда.
😁761🌚1
⚡️ Быстрые аналоги популярных библиотек для Python ⚡️

Подготовил для вас небольшую подборку производительных библиотек на замену стандартным и не только.

JSON.
Парсинг жэсона (именно так название должно было звучать изначально) это очень частая задача.
И хотя стандартный модуль json в Python справляется отлично, есть более производительный вариант.
Встречайте ⚡️ ultrajson.
Не вдаваясь в подробности, эта библиотека работает быстрее и выдает JSON в 2-3 раза меньшего размера.

Asyncio Event Loop.
Данный спидхак (а точнее, библиотека) не работает на Windows.
Но это и не проблема, так как код обычно хостят на 🐧 Linux серверах.
К вашему вниманию библиотека ⚡️ uvloop, работающая в 2-4 раза быстрее стандартной реализации.

Aiohttp.
Вместо того, чтобы ставить библиотеку обычной командой pip install.
Ставьте Aiohttp командой ⚡️ pip install aiohttp[speedups]
В этом случае ставятся еще и такие библиотеки, как cchardet и aiodns.

Асинхронные библиотеки.
При использовании aiogram или любых других асинхронных библиотек, рекомендуется применять также и асинхронные версии подключаемых модулей.
Например: aiosqlite, asyncpg, aql, aiofiles и другие (больше тут).

FeedParser.
Обычно её используют для парсинга RSS лент и т.д.
Но со скоростью у библиотеки явные проблемы.
В качестве замены предлагаю вам использовать ⚡️ SpeedParser, он позволяет разбирать тот же RSS в разы быстрее.
И синтаксис у него очень похожий на FeedParser.

GZIP.
Тут более быстрого аналога нет, но зато есть совет как ускорить текущую реализацию.
Просто не используйте GZIP из Python (в виде middleware, например).
Вместо этого вынесите его на сторону сервера (тот же nginx), и вы быстро заметите как нагрузка сократится.

Если заходит такой формат, ставьте лайки 👍
Выпущу продолжение 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
👍687😁3🤡1
🗓  Подготовительный курс по Python-разработке. 990 рублей. Старт 7 июня.

✔️Научиться понимать код на Python — а не переписывать
✔️Написать конвертер валют — ощутить вкус реального продакшена
✔️Создать основу своего пет-проекта — всего за 14 дней

Вас ждет 70 уроков теории и практики прямо в браузере, вебинары, лайвкодинг и первая собственная программа на Python, написанная под руководством опытного наставника.

Присоеденяйтесь!
👍14🤡8🔥3🤔2💋2😱1
Он взломал систему 🌚
😁217🤯2811😐5👍4🌚3❤‍🔥1😱1
Еще вариант как нейросеть видит язык программирования 🐍 Python ❤️
81❤‍🔥4👍2🌚2
Большая шпаргалка по Python.
Сохраняйте, чтобы не потерять.
👍103❤‍🔥104😱4🌚2🤩1🤡1
А чё в смысле? 🤔
🌚93🤡8👍64❤‍🔥2🐳1
lambda-функция — это компактный способ определить функцию без использования стандартного объявления def.

Она позволяет создавать простые функции "на лету" без необходимости использования отдельного имени функции.

В примере выше мы используем lambda-функцию для того, чтобы отфильтровать список чисел для получения только чётных чисел.

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

Lambda-функции особенно полезны, когда требуется определить простые функции, которые не требуют многострочных инструкций или сложной логики. Они позволяют создавать функции более компактным и лаконичным способом.
👍368❤‍🔥3😐2
functools — встроенный в Python модуль, который предоставляет набор полезных функций, связанных с функциональным программированием.

Модуль functools предоставляет инструменты для работы с функциями высшего порядка, функциями обратного вызова (callback) и другими полезными возможностями.

Давайте разберём функцию reduce модуля functools.
Функция reduce применяет указанную функцию(в примере выше мы использовали lambda-функцию) к элементам итерируемого объекта слева направо, сворачивая их в одно значение. Это полезно, когда вам нужно применить операцию накопления к последовательности значений.

Использование функций из модуля functools позволяет повысить эффективность и удобство разработки, особенно при работе с функциональным программированием, декораторами и другими продвинутыми возможностями Python.
25👍8🔥1
partial — функция из модуля functools, которая используется для создания новой функции с некоторыми аргументами, которые уже заданы заранее.

На примере(см. выше) функция partial используется для создания новой функции с фиксированными значениями аргументов. Она принимает функцию и задает некоторые аргументы заранее, которые станут постоянными для создаваемой функции.

Это полезно, когда вы хотите создать функцию с некоторыми предустановленными аргументами.
👍332🎉1🏆1
Аче всмысле 🌚
🌚86😁8🐳7😐4👍2
У Самурая нет цели, есть только апдейт 🌚

Крч обновил свою 🛠 PyCharm Communist Edition до версии 2023.1.2.

Из нового:
— появилась светлая тема (хз зачем)
— новый минималистичный интерфейс
— улучшенная работа с Git
— всякое по мелочам

А на какой версии PyCharm сидите вы? 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥45👍92
enumerate() — встроенная в Python функция, которая используется для итерации по последовательности одновременно с получением индекса и значения каждого элемента.

Синтаксис функции enumerate():
enumerate(sequence, start=1), где sequence - последовательность, по которой мы хотим производить итерацию (например, список, кортеж, строка и т.д.), а start (необязательный) - значение, с которого начинается индексирование. По умолчанию равно 0.

На примере(см. выше) я вывел список фруктов с их индексами :3
👍44🤡5🐳32❤‍🔥1
setattr — функция, которая используется для установки значения атрибута объекта по его имени.

Синтаксис функции setattr():
setattr(object, attribute_name, value) 
• object - объект, для которого мы хотим установить атрибут.
• attribute_name - имя атрибута, который мы хотим установить.
• value - значение, которое мы хотим присвоить атрибуту.

Думаю, пример объяснять не надо. Если коротко: мы меняем артибут объекта Car :)

P.S. Если запрашиваемый атрибут не существует, то функция вернёт AttributeError, Необходимо обрабатывать это исключение.
👍352🤡2🤔1
Сможете ли вы угадать вывод? 🌚
🤡115😁35🌚103🐳3💋2❤‍🔥11🍓1
Таймер помодоро не нужен 🌚
84🤯13👍6😁4🌚4❤‍🔥1🐳1
Git — это распределённая система управления версиями, которую изначально создал Линус Торвальдс. Она позволяет отслеживать и вести историю изменений файлов: откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий.

Вот вам шапаргалка, чтобы легче было пользоваться 🌚
👍47🤡2🍓21