Разъяснивший Python
Открыть в Telegram
Твой проводник в омут Python'а Ссылка: @Portal_v_IT Сотрудничество: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/python_pssss
Больше6 974
Подписчики
-124 часа
-137 дней
-6330 дней
Архив постов
6 974
Функция проверки чисел на простоту
Оптимизированный алгоритм для проверки простоты числа.
В этом алгоритме я использую свойство, что все простые числа (кроме 2 и 3) можно представить в виде 6k ± 1. Это сокращает количество проверок примерно в 3 раза по сравнению с наивным перебором до квадратного корня.
Разъяснивший Python
6 974
Анализ производительности популярных подходов с бенчмарками часть 2
Метод
dict.get() обычно работает примерно на 30-40% быстрее, чем явная проверка через if key in dict, и примерно в 2-3 раза быстрее, чем использование блока try-except.
Но не всегда стандартные методы лучше. Например, при сортировке списков с пользовательским ключом, использование operator.itemgetter() может быть на 10-15% быстрее lambda-функций.
Разъяснивший Python6 974
Анализ производительности популярных подходов с бенчмарками часть 1
Интуитивные представления о производительности нередко бывают ошибочными. Python - язык с множеством способов решения одной задачи, и выбор правильного подхода может дать огромный прирост производительности. Давайте сравним некоторые распространенные операции с помощью простых бенчмарков.
Результаты могут удивить:
join обычно в 10-15 раз быстрее, чем последовательное использование оператора +. Причина проста - строки в Python неизменяемы, и каждая операция + создает новый объект.
list comprehension стабильно показывает результаты на 15-20% лучше, чем filter() с lambda-функцией. Однако этот разрыв может меняться в зависимости от сложности фильтрующей функции. Особенно впечатляет разница при доступе к элементам словаря
Разъяснивший Python6 974
Безопасное получение вложенных значений
Доступ к вложенным атрибутам объектов или вложенным ключам словарей часто приводит к ошибкам.
Эта функция может сократить количество проверок в коде на порядок, сделав его намного чище и понятнее.
Разъяснивший Python
6 974
Проверка типов данных
При отладке или работе с незнакомым API бывает полезно узнать тип и структуру объекта.
Этот простой инструмент неоднократно выручал меня при работе с API, возвращающими сложно структурированные данные.
Разъяснивший Python
6 974
Обработка ошибок и повторные попытки
API могут быть нестабильными, поэтому всегда стоит реализовать механизм повторных попыток.
Экспоненциальная задержка между попытками (
backoff_factor * (2 ** retries)) помогает избежать перегрузки сервера и дает ему время восстановиться.
Разъяснивший Python6 974
Ломаем текстовую капчу на примере VK или брутфорсинг до сих пор актуален
В этой статье-мануале автор покажет, как создать собственную нейросеть по распознаванию текстовых капч, имея под рукой домашний компьютер, базовые знания в python и немножко примеров капч.
Читать...
Разъяснивший Python
6 974
Базовые HTTP запросы с requests
Библиотека
requests - настоящая находка для разработчика. Она делает HTTP-запросы интуитивно понятными
Я всегда добавляю параметр timeout, чтобы избежать зависания программы при проблемах с сетью. Однажды потерял два часа, выясняя, почему скрипт "завис" - оказалось, что без таймаута запрос к недоступному серверу просто ждал вечно.
Разъяснивший Python6 974
Передача дополнительных аргументов
Часто функции обработки нужны дополнительные параметры.
Ловушка: передача негпикличных объектов между процессами. Python использует сериализацию для передачи данных между процессами, но не все объекты можно сериализовать стандартными средствами. Для сложных случаев стоит использовать библиотеки вроде
dill или cloudpickle.
Эти инструменты параллельных вычислений стали неотъемлемой частью моего арсенала при работе с большими объемами данных. Конечно, добавление параллелизма усложняет код и отладку, но производительность часто стоит этих усилий, особенно когда речь идет о сокращении времени выполнения с часов до минут.
Разъяснивший Python6 974
⚡️1 МЛН $ ЗА СОВЕТ
Когда PepsiCo выходила на рынок, его главным конкурентом была The Coca-Cola Company
Со временем стало ясно, что PepsiCo не выдержит конкуренцию с этим гигантом.
Но, однажды в компанию пришел человек, который сказал, что за 1 млн $ и место генерального директора расскажет секрет как увеличить прибыль компании в сотни раз.
Конечно, никто платить не стал, вызвали лучших умов и поручили им найти этот секрет.
Однако, когда у них ничего не вышло, акционеры PepsiCo скрепя сердце выполнили условия того странного человека
🤯 В ответ они получили листок бумаги, на котором были написаны 3 слова:
6 974
Продвинутый подход с concurrent.futures
Модуль
concurrent.futures, появившийся в Python 3.2, предоставляет более высокоуровневый интерфейс
Этот подход дает три ключевых преимущества:
1. Обработка результатов по мере готовности через as_completed().
2. Более удобная обработка исключений.
3. Простое переключение между процессами и потоками (для IO-bound задач достаточно заменить .ProcessPoolExecutor на ThreadPoolExecutor)
Разъяснивший Python6 974
«Если ты такой умный, почему у тебя до сих пор нет миллиона?»
Проблема никогда не была в ТЕБЕ самом🤷🏻♂️
Пока одни годами ждут прибавки в 5 000 рублей, партнеры Дмитрия спокойно забирают свою прибыль используя его ИИ алгоритм:
Цифры никогда не врут:
За последние 5 месяцев 119 партнёров вышли на первый 1 млн. Средний доход остальных — 297 000 ₽ в месяц.
Твой потенциал стоит в 5-10 раз дороже твоей текущей зарплаты, пришло время реализовать его на максимум!
Укажи в боте желаемый уровень дохода и получи возможность стать партнером 👉
https://telegram.me/+QqxbSJVZ80g5YTli
6 974
Базовое использование multiprocessing
Python из-за GIL (Global Interpreter Lock) не может эффективно использовать многопоточность для CPU-интенсивных задач. Но это не значит, что мы лишены возможности распараллеливать вычисления. Для таких случаев у нас есть модули
multiprocessing и concurrent.futures, позволяющие задействовать все ядра процессора.
Pool создает группу рабочих процессов и распределяет задачи между ними. Параметр processes определяет количество процессов - если не указан, используется количество, равное числу ядер CPU
Разъяснивший Python6 974
Забрать подписки на сервисы можно на ggsel ⚾️
На сайте собраны подписки на YT Premium, Spotify, нейронки и другой софт ☕️
Иностранные карты для оплаты не потребуются — на ggsel все безопасно оплачивается с обычных карт российских банков 🫰
6 974
Обработка JSON данных
JSON стал стандартом для API и конфигурационных файлов.
pathlib превращает обычные текстовые пути в «умные» объектно-ориентированные структуры, позволяя складывать папки через лаконичный слэш /, одной командой проверять существование директорий и на лету собирать файлы по маске с помощью метода glob.
Обратите внимание на параметр
ensure_ascii=False - он позволяет корректно сохранять Unicode символы, включая кириллицу, без экранирования.
Разъяснивший Python6 974
Можно ли собрать полезный рабочий инструмент с ИИ за один вечер?
Проверим на первой бесплатной лаборатории вайб-кодинга от Зерокодера
Не будем тратить эфир на теорию и бесконечные промпты. Возьмем 100 реальных отзывов клиентов и прямо на глазах соберем приложение, которое само их проанализирует.
Но главное – формат самой лаборатории.
Это не запись заранее подготовленного кейса и не лекция, где эксперт показывает идеальный результат. Задачу собираем прямо в Zoom: от постановки до готового инструмента. Во время занятия можно задавать вопросы ведущему и разбираться с процессом вместе.
В итоге получается реальный продукт, который можно использовать для конкурентного анализа, поиска идей и улучшения своих продуктов или адаптировать под задачи клиентов и продавать как готовое решение.
И это только первая задача. Каждую неделю – новый кейс и новый инструмент: приложения, дашборды, автоматизации и AI-помощники.
Забрать первое участие в лаборатории бесплатно – по ссылке
6 974
Асинхронная обработка файлов с использованием aiofiles
Cтандартные операции с файлами блокируют выполнение программы. В асинхронном мире это неприемлемо. На помощь приходит библиотека
aiofiles, которая предоставляет асинхронный интерфейс для операций ввода-вывода.
Эти базовые функции аналогичны синхронным версиям, но с ключевыми словами async/await. Однако реальная мощь проявляется при параллельной обработке множества файлов (смотри метод process_multiple_files)
При массовой асинхронной записи я столкнулся с проблемой перегрузки диска. Решение - добавить семафор для ограничения количества одновременных операций (смотри метод controlled_file_processing)
Разъяснивший Python6 974
👩💻 Стажировки и вакансии для Python разработчиков.
- Вакансии которых нет на джоб-агрегаторах
- Только прямые контакты HR в Telegram
👉 @jobs_python
Больше тут:
🤖 ML & DS 👩💻 DevOps
👨✈️ ИБ & OSINT 👣 Go
👩💻 Mobile 👩💻 C#
👩💻 Node.js 👩💻 Python
🔎 QA 👩💻 Java
👩💻 UX/UI 👩💻 Frontend
🖼️ PHP 📋 Analyst
💼 1C 🖥 SQL
👩💻 IT HR
Пока другие листают джоб-сайты — ты уже пишешь HR в Telegram.
6 974
cv3 — делаем OpenCV питоничным
В этом материале автор делится написанным им фреймворком на Python, который упрощает работу с OpenCV и делает его более питоничным.
Читать...
Разъяснивший Python
6 974
🔴В 2026 году наши граждане уже заработали более 10 миллиардов рублей на Арбитраже криптовалют
По данным Минфин 23% людей уже покинули свое место работы, поскольку в среднем уже в первый месяц тут можно зарабатывать более 140 тысяч рублей, а через пару месяцев с легкостью выйти на семизначные суммы!
Самое смешное, что лишь 10% людей что-то слышали об этой профессии, хотя все обучающие материалы бесплатно лежат на канале Арбитраж Криптовалют
Там обьясняют, как при помощи телефона и интернета, заработать свои первые 100 тысяч рублей! Причем разжевывают так доступно, что поймет даже подросток. Кстати, только что на канале вышла новая рабочая связка!
Только сегодня вход абсолютно бесплатный - https://t.me/+RJh1b5VvSPxkY2Ey
