Разъяснивший Python
6.98K subscribers
3.23K photos
46 videos
30 files
3.29K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Создание простого генератора

Ключевое слово yield приостанавливает выполнение функции и возвращает значение. При следующем вызове функция продолжит работу с того места, где остановилась. Это очень эффективно с точки зрения использования памяти.

Разъяснивший Python
Генераторные выражения

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

Разъяснивший Python
Цепочки генераторов

Генераторы можно объединять в цепочки для создания конвейеров обработки данных.

Такой конвейер позволяет эффективно обрабатывать файлы любого размера с минимальным использованием памяти.

Разъяснивший Python
Бесконечные последовательности

Генераторы позволяют создавать бесконечные последовательности без риска исчерпания памяти.

Разъяснивший Python
Подсчет количества вхождений подстроки

Часто нужно узнать, сколько раз определенная подстрока встречается в тексте.

Метод count() очень эффективен, так как реализован на C уровне. Однако он чувствителен к регистру. Если нужен поиск без учета регистра, можно сделать как в count_substring_case_insensitive.

Разъяснивший Python
Замена текста в строках

Замена текста - еще одна распространенная операция, которая выполняется с помощью метода replace.

Для более сложных замен с возможностью использования регулярных выражений, я использую модуль re.

Разъяснивший Python
1
Сортировка словаря по значению

Словари в Python сохраняют порядок добавления ключей (с версии 3.7), но иногда требуется отсортировать их по значениям.

Разъяснивший Python
👩‍💻 Хватит учить только синтаксис, начинай делать реальные проекты!

Python Ready — авторский канал, где Python перестаёт быть только теорией и становится рабочим инструментом. Мини-проекты, боты, советы, разборы задач, гайды и шпаргалки для каждого программиста.

🔥 Советую подписаться: @python_ready
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Собственные итерируемые объекты

Если вы хотите превратить любой свой класс в объект, который можно перебирать в цикле for, просто добавьте в него два «магических» метода: __iter__ (настраивает старт и возвращает self) и __next__ (выдает следующий элемент или останавливает цикл через raise StopIteration).

Разъяснивший Python
Построчное чтение больших файлов

Для больших файлов нецелесообразно загружать весь контент в память

Конструкция for line in file в сочетании с генератором yield позволяет читать огромные файлы построчно, загружая в оперативную память ровно одну строку за раз вместо всего файла целиком, что защищает вашу программу от вылета по нехватке памяти (OutOfMemory)

Разъяснивший Python
Возвращение легенды: самый востребованный практикум Зерокодера по Claude Code снова пройдёт в августе.

CEO университета Зерокодер Кирилл Пшинник проведёт ещё один бесплатный онлайн-практикум, где в прямом эфире покажет, почему вокруг Claude Code столько шума и как использовать его на полную мощность.

На практикуме разберут:

• Как получить доступ к Claude Code из России и начать работать без ограничений;
• Как запускать сразу несколько ИИ-агентов для одного проекта;
• Как за 15 минут собрать рабочий сайт практически без ручного кода;
• Как автоматизировать аналитику и рутинные задачи без дополнительных сервисов;

Бонус: в конце практикума расскажем, как пользоваться Claude Code бесплатно и оформить виртуальную карту для оплаты других AI-сервисов

P.S. Это специальный повтор одного из самых популярных практикумов Зерокодера по Claude Code. Жмите на ссылку и успевайте зарегистрироваться!
Запись и добавление в файл

Параметр mode контролирует режим открытия файла: 'w' для перезаписи, 'a' для добавления в конец.

Разъяснивший Python
cv3 — делаем OpenCV питоничным

В этом материале автор делится написанным им фреймворком на Python, который упрощает работу с OpenCV и делает его более питоничным.

Читать...

Разъяснивший Python
Асинхронная обработка файлов с использованием aiofiles

Cтандартные операции с файлами блокируют выполнение программы. В асинхронном мире это неприемлемо. На помощь приходит библиотека aiofiles, которая предоставляет асинхронный интерфейс для операций ввода-вывода.

Эти базовые функции аналогичны синхронным версиям, но с ключевыми словами async/await. Однако реальная мощь проявляется при параллельной обработке множества файлов (смотри метод process_multiple_files)

При массовой асинхронной записи я столкнулся с проблемой перегрузки диска. Решение - добавить семафор для ограничения количества одновременных операций (смотри метод controlled_file_processing)

Разъяснивший Python