Разъяснивший Python
7K subscribers
3.21K photos
45 videos
30 files
3.26K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Типизация в Python. Работа с Mypy, PyCharm и SQLAlchemy 2.0

В этом материале автор приводит краткий обзор трех докладов: разбирает работу со средой разработки PyCharm, статическим анализатором Mypy и программной библиотекой SQLAlchemy 2.0.

Читать...

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

Mypy
это статический анализатор типов для Python. Он позволяет добавить статическую типизацию в Python и выявлять ошибки, связанные с типами, на этапе компиляции.

Для использования Mypy нужно аннотировать переменные специальным синтаксисом, в примере мы указали, что функция sum_list принимает список целых чисел и возвращает целое число.

После запуска, если типы не совпадают, Mypy выдаст ошибку, как показано в примере.

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

Модуль inspect пригодится для понимания того, что происходит за кулисами в Python. Вы даже можете вызывать его методы на них самих!

Ниже используется метод inspect.getsource() для вывода его собственного исходного кода. Также используется метод inspect.getmodule() для вывода модуля, в котором его определили.

Последняя команда выводит номер строки, на которой она сама находится

Разъяснивший Python
collections.defaultdict — Для тех, кто любит порядок

Сколько раз вы сталкивались с ошибками KeyError?

С defaultdict ваши ключи всегда будут иметь значение, даже если у вас их нет!

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

Этот трюк со срезами [::-1] я использую почти каждый день. Он работает значительно быстрее, чем итерационные методы типа ''.join(reversed(s)), что доказано бенчмарками. Кстати, тот же метод применим и к спискам.

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

Палиндром - это строка, которая читается одинаково в обоих направлениях. Используя предыдущий сниппет, можно легко проверить это свойство.

Тут добавил предобработку строки - убираю пробелы и привожу все к нижнему регистру, что делает проверку более практичной.

Разъяснивший Python
Поиск объектов на изображении. Часть 1

Компьютерное зрение - удивительная область, которая позволяет компьютерам видеть и понимать мир через обработку изображений и видео. Одним из наиболее популярных инструментов для работы с компьютерным зрением является библиотека OpenCV. В этой статье автор разбирает, как использовать OpenCV для распознавания объектов на изображении.

Читать...

Разъяснивший Python
Форматирование строк с f-строками

F-строки появились в Python 3.6 и стали моим любимым способом форматирования.

F-строки позволяют встраивать выражения Python прямо в строки, что делает код более читаемым

Разъяснивший Python
Удаление лишних пробелов

Данные, полученные от пользователя или из файлов, часто содержат лишние пробелы. Их можно удалить с помощью методов strip или re.sub.

Разъяснивший Python
Выравнивание текста

Для создания читаемых таблиц или форматированного вывода удобно использовать методы выравнивания ljust, rjust и center.

Разъяснивший Python
Презентации в Python: Полный гайд

Ранее мы уже делились циклом видеогайдов по созданию презентаций PowerPoint с помощью Python. Если Если ты ранее пропустил, в заключительной части автор собрал полный гайд по работе в PowerPoint.

Смотреть...

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

Аналогично строкам, списки можно перевернуть с помощью среза.

Есть также встроенный метод reverse(), но он изменяет список на месте.

Разъяснивший Python
Потребление памяти при сортировке в Python

Сначала сравним, сколько памяти потребляет каждая из функций. Для отслеживания максимального использования памяти, используем встроенный модуль resource. Так как данный модуль позволяет отслеживать использование памяти для одного потока, мы запускаем сортировку списка в отдельном потоке. Также можно использовать FunctionSniffingClass, включенный в репозитории.

Разъяснивший Python
Объединение словарей

До Python 3.9 объединить словари можно было несколькими способами, например с помощью методов copy и update.

В Python 3.9+ появился оператор | для объединения словарей.

Разъяснивший Python
Создание словаря из двух списков

Часто возникает задача создать словарь из двух отдельных списков, где один содержит ключи, а другой - значения.

Функция zip() создает итератор, который объединяет элементы из нескольких итерируемых объектов. Затем конструктор dict() превращает пары в словарь. Если списки имеют разную длину, результирующий словарь будет ограничен длиной самого короткого списка.

Разъяснивший Python
Китайская нейросеть, которая заменяет подписку на GPT — бесплатно и оффлайн

2026 год – новая эпоха для DeepSeek. Китайская нейросеть работает прямо на вашем устройстве, обгоняет западные модели и снимает все ограничения: без подписок, без интернета, без контроля.
Зерокодер обновил практикум и собрал все, что важно знать о локальных моделях и как с ними работать.

⚡️Что ждет вас на вебинаре?

– Покажем, как установить DeepSeek на компьютер и пользоваться нейросетью оффлайн, без подписки и передачи данных в облако;
– Объясним, чем отличаются версии DeepSeek и какие модели использовать для текста, кода, анализа данных, обучения и исследований;
– Проверим DeepSeek на реальных задачах: коде, документах, расшифровках созвонов и работе с собственными файлами;
– Покажем, как монетизировать навыки работы с локальными ИИ и как работать быстрее GPT бесплатно.

Регистрируйтесь прямо сейчас

Участники эфира получат чек-лист по выбору модели под задачу и подборку 20+ сценариев для ИИ-помощника на своем компьютере, который работает с вашими файлами.

Эфир подойдёт всем, кто хочет пользоваться ИИ без лимитов и зависимости от чужих серверов, монетизировать навыки и оставаться в тренде технологий 2026 года.

Бесплатный практикум – по ссылке.
Создание простого генератора

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

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

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

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

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

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

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

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

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