Pythoner
7.21K subscribers
861 photos
28 videos
4 files
656 links
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику.

Сотрудничество - @flattys
Цены - @serpent_media

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
🐍Asyncio

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
👍94🔥3
*⃣ Как хранить токены и пароли в программах на 🐍 Python?

🔍 У новичков часто возникает вопрос - где хранить секретные данные? Нет, можно, конечно, прямо в коде, но лучше так не делать. Делюсь короткой статьей с основными способами хранения токенов и прочих секретных данных 


➡️ u.habr.com/dSPXv 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
👌6👍32🔥1
Ищем опечатки

Пакет spellchecker позволяет отыскать ошибки в тексте, а также может предложить варианты исправлений. В примере проходимся по списку из двух слов, из которых одно ('therre') написано с опечаткой. Функция correction замечает это и предлагает одно самое вероятное исправление, а candidates — несколько.

Библиотека поддерживает шесть языков.

Документацию можно найти здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥1
😁177👍4
🐍Преобразование изменяемых данных в неизменяемые

Изменяемые данные (например, словари или списки) — это структуры, к которым могут быть добавлены новые значения.

Неизменяемые данные, в противоположность изменяемым, после создания остаются неизменными. Посмотрите, как можно преобразовать изменяемый тип данных в неизменяемый.
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
👍103🔥2
🐍Snowballstemmer

Библиотека Snowballstemmer предоставляет функциональность стемминга, то есть преобразования слов в их базовую форму.

Эта библиотека реализует алгоритм Портера, который является одним из наиболее известных алгоритмов стемминга. Snowballstemmer поддерживает алгоритмы стемминга для 15 языков, включая русский.

*Стемминг применяется в поисковых системах для расширения поискового запроса пользователя, является частью процесса нормализации текста.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥2
🐍В каком случае лучше использовать while , чем for?

➡️Использование цикла while в Python целесообразно в случае, когда число итераций заранее неизвестно или зависит от условий во время выполнения программы. Например, когда нужно повторять определенные действия до тех пор, пока не будет выполнено определенное условие.

➡️С другой стороны, цикл for удобно использовать, когда известно количество итераций, например, когда нужно перебрать все элементы в списке или выполнить действия определенное количество раз.

➡️Таким образом, в исходном коде лучше использовать цикл while, когда требуется гибкость в управлении итерациями, а цикл for - для ситуаций, когда количество итераций известно заранее.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍143🔥1😁1
🐍Функция islice()

islice() — это функция, которая является частью модуля itertools и используется для извлечения определенного количества элементов из итерируемого объекта.

Она позволяет получить подмножество элементов из последовательности без необходимости создавать новую последовательность.

Синтаксис функции islice() выглядит следующим образом:
islice(iterable, start, stop, step)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥32
➡️В Python абстрактный класс реализуется с помощью модуля abc (Abstract Base Classes).

⬆️В данном примере класс Animal является абстрактным, так как содержит абстрактный метод speak. Классы Dog и Cat наследуются от класса Animal и реализуют метод speak. Класс Animal нельзя инстанциировать напрямую, он служит лишь базовым классом для других классов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62👍2😍1
🐍С помощью DataCleaner вы можете легко выполнить ряд операций по очистке данных, что поможет вам улучшить качество данных и сделать их более подходящими для анализа и построения моделей машинного обучения.

➡️Таким образом, использование DataCleaner в Python поможет вам быстро и эффективно обработать данные, улучшить их качество и подготовить для дальнейшего анализа.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥1
🖥Celery - это асинхронный распределенный диспетчер задач для Python. Он позволяет выполнять асинхронные задачи в фоновом режиме, позволяя вашему приложению эффективно обрабатывать длительные задачи, такие как отправка email уведомлений, генерация отчетов, обработка изображений и другие операции, которые могут быть вынесены за пределы основного приложения.

Основные концепции Celery:

➡️. Задачи (Tasks): задачи представляют собой независимые операции, которые нужно выполнить асинхронно.

➡️ Рабочие узлы (Workers): рабочие узлы - это процессы или потоки Python, которые могут выполнять задачи. Они могут быть запущены на одном или нескольких серверах.

➡️ Брокер сообщений (Message Broker): брокер сообщений используется для передачи сообщений между приложением и рабочими узлами. Celery поддерживает различные брокеры, такие как RabbitMQ, Redis, Amazon SQS и другие.

➡️ Задания по расписанию (Periodic Tasks): Celery поддерживает запуск задач по расписанию, что позволяет автоматизировать выполнение повторяющихся задач.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥1
🐍Функция math.gcd() является частью модуля math в Python и используется для вычисления наибольшего общего делителя (НОД) двух чисел. Наибольший общий делитель двух чисел - это наибольшее число, которое делит оба числа без остатка.

⬆️В данном примере, math.gcd() вычисляет наибольший общий делитель для чисел 24 и 36, который равен 12.

➡️Функция math.gcd() также может принимать большее количество аргументов для вычисления их наибольшего общего делителя.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🔥1
🐍В Python вы можете объявить несколько присваиваний в одном выражении, разделяя их запятой. Это удобно, если вам нужно присвоить нескольким переменным одно и то же значение или присвоить несколько значений различным переменным.

⬆️В примере выше значение 1 будет присвоено переменной a, значение 2 - переменной b, и значение 3 - переменной c.

➡️Объявление нескольких присваиваний в одном выражении упрощает код и улучшает его читаемость, особенно в случаях, когда значения должны быть инициализированы или обменены между переменными.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113🔥1🗿1
🐍Метод random.shuffle() в Python используется для перетасовки (переупорядочивания) элементов в последовательности (например, в списке). Этот метод функционирует по принципу "перетасовывания колоды карт", то есть изменяет порядок элементов в последовательности случайным образом.

➡️Важно отметить, что метод random.shuffle() изменяет оригинальный список и не создает новый список. Если вы хотите сохранить исходный порядок элементов, можно создать копию списка перед вызовом метода random.shuffle().

➡️random.shuffle() особенно удобен, когда вам нужно случайным образом перемешать элементы списка или последовательности, например, при разыгрывании порядка выступления участников, случайном выборе победителя и т. д.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥1
😁19🤣95
➡️Метод append() используется для добавления одного элемента в конец списка, в то время как метод extend() используется для добавления нескольких элементов в конец списка.

➡️Таким образом, основное отличие между append() и extend() заключается в том, что append() добавляет одиночный элемент в список, а extend() добавляет несколько элементов, которые находятся в другом списке.
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥4👍3