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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
inspect

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

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

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

#theory // Just Python
zip

Встроенная функция zip() принимает несколько итерируемых объектов и возвращает последовательность  кортежей. Каждый кортеж группирует элементы объектов по их индексу.

Можно провести операцию, обратную zip(), с помощью zip(*).

#theory // Just Python
collections.defaultdict — Для тех, кто любит порядок

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

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

#theory // Just Python
Переворот строки

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

#theory // Just Python
Проверка на палиндром

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

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

#theory // Just Python
Разбиение строки на список

Превращение строки в список с помощью split - базовая операция для дальнейшей обработки данных.

Полезный трюк: если нужно разбить строку по нескольким разделителям, используйте re.split()

#theory // Just Python
Форматирование строк с f-строками

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

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

#theory // Just Python
Удаление лишних пробелов

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

#theory // Just Python
Выравнивание текста

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

#theory // Just Python
Удаление дубликатов из списка

Превращение списка в множество (set) и обратно — самый быстрый способ избавиться от дубликатов.

Однако этот метод не сохраняет порядок элементов. Если порядок важен можно использовать выражение из второго примера.

Хитрость метода seen.add(x) заключается в том, что он возвращает None, поэтому условие срабатывает только когда элемент встречается впервые.

#theory // Just Python
Переворот списка

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

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

#theory // Just Python
Сортировка списка словарей по ключу

При работе с данными часто требуется сортировка списка объектов по определенному полю с помощью лямбда функции в параметре key= метода sorted.

Для более сложной сортировки используйте itemgetter из модуля operator.

#theory // Just Python
Объединение словарей

До 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