Just Python
9.85K subscribers
4.69K photos
16 videos
4.68K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

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

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Объединение словарей

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

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

#theory // Just Python
Инвертирование словаря

Иногда нужно поменять местами ключи и значения. Метод invert_dict работает только если значения уникальны и хешируемы.

Для повторяющихся значений подойдет метод setdefault(), который создает ключ со значением по умолчанию, если его еще нет в словаре, и возвращает значение этого ключа.

#theory // Just Python
Создание словаря из двух списков

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

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

#theory // Just Python
Создание простого генератора

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

#theory // Just Python
Китайская нейросеть, которая заменяет подписку на GPT — бесплатно и оффлайн

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

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

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

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

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

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

Бесплатный практикум – по ссылке.
Генераторные выражения

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

#theory // Just Python
Цепочки генераторов

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

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

#theory // Just Python
Бесконечные последовательности

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

#theory // Just Python
Подсчет количества вхождений подстроки

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

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

#theory // Just Python
Замена текста в строках

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

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

#theory // Just Python
Подсчет частоты элементов

Для анализа данных часто нужно подсчитать, сколько раз каждый элемент встречается в коллекции.

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

#theory // Just Python
Сортировка словаря по значению

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

#theory // Just Python
Бесконечные последовательности

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

Этот код создает объект, который можно использовать в цикле for, реализуя протокол итератора с помощью методов __iter__ (возвращает сам объект и сбрасывает состояние) и __next__ (вычисляет и возвращает следующее число Фибоначчи, пока не будет достигнут лимит).

#theory // Just Python
Собственные итерируемые объекты

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

#theory // Just 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 line in file в сочетании с генератором yield позволяет читать огромные файлы построчно, загружая в оперативную память ровно одну строку за раз вместо всего файла целиком, что защищает вашу программу от вылета по нехватке памяти (OutOfMemory)

#theory // Just Python