Just Python
10.2K subscribers
4.39K photos
11 videos
4.38K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Сортировка объектов по нескольким ключам

Для решения данной задачи нам понадобится модуль operator.
Сначала сортируем объекты по возрасту, а потом по имени. С помощью operator.itemgetter() получаем поля возраста и имени из каждого словаря в списке.

#theory // just python | ChatGPT
Самый частый элемент в списке

Первым аргументом функция max() получает множество из элементов списка (помним, что в множестве все элементы уникальны).
Затем применяет к каждому из них функцию count, подсчитывающую, сколько раз элемент встречается в списке.
После этого с помощью функции print() печатаем элемент множества, который имеет больше всего «попаданий».

#theory // just python | ChatGPT
Вывод строк текста не больше установленной ширины

Для выполнения данной задачи нам потребуется встроенная библиотека textwrap, которая имеет функцию fill().
Первым аргументом передается сам текст, а вторым задается ширина строки в символах.

#theory // just python | ChatGPT
Извлечение элементов из JSON-документа декларативно

JMESPath делает работу с JSON на Python еще проще. Теперь вы можете декларативно указывать, как извлекать элементы из JSON-документа используя search().

#theory // just python | ChatGPT
Бесконечный итератор последовательности

С помощью itertools.cycle() создаётся кольцевой итератор. Придя к последнему значению, он вновь начинает с первого.

#theory // just python | ChatGPT
Switch-конструкции

Некоторые языки программирования используют switch конструкции, которых нет в python. Однако существует одно хитрое решение – использовать словарь, где значениями будут функции.
В данном примере вместо lambda-функций можете подставить любые другие.

#theory // just python | ChatGPT
Дизассемблирование

Встроенный модуль dis позволяет декомпилировать написанную вами программу в байт-код Python.

#theory // just python | ChatGPT
Pathlib библиотека

В качестве удобной абстракции для работы с путями файлов Python 3 предоставляет pathlib

#theory // just python | ChatGPT
Подсказка типа

Python 3 поддерживает подсказки типов несмотря на динамическую типизацию.

#theory // just python | ChatGPT
🔵 Практический интенсив «Python-разработчик: основы за 2 дня» — 23-24 апреля в 19:00 мск.

О перспективах направления Python и многом другом расскажет Грегори Салиба, старший разработчик ЭквантаЛаб с опытом в разработке более 3 лет. 

На вебинаре вы:

☑️ Самостоятельно напишете Telegram-бота с карточными мини-играми.
☑️ Познакомитесь с синтаксисом языка и сферами его применения.
☑️ Узнаете, чего ждут работодатели от junior-разработчиков и что делать, чтобы найти работу без опыта.

Переходите по ссылке, чтобы зарегистрироваться на бесплатный практический интенсив и забрать подарки 🎁
Встроенный кэш LRU

Python 3 делает его очень простым в использовании, предоставляя LRU(наименее недавно используемый) кэш в качестве декоратора, называемого LRU cache.
Используя кэш lru для настройки функция Фибоначчи (этот метод оптимизации называется memoization). Время выполнения уменьшается с секунд до наносекунд.

#theory // just python | ChatGPT
Расширенная итерационная распаковка

Переменные без * просто присваиваются как есть (один соответствующий элемент списка), а со * присваивается как список, в который не входят элементы присвоенные переменным без *.

#theory // just python | ChatGPT
Подчеркивание в числовых литералах

Python 3 предоставляет отличный способ разрешить чтение числовых литералов, включив подчеркивание в числах. Это может быть использовано для демонстрации, например: тысячи, шестнадцатеричные и двоичные числа.

#theory // just python | ChatGPT
Выражения присваивания - "оператор моржа"

В Python оператор walrus, выполняет присвоение переменной выражения. Это может быть полезно, если вы собираетесь ссылаться на выражение позже в коде и сохранить строку или две в коде.

#theory // just python | ChatGPT
Проверка необходимой версии Python

В коде возможно проверить наличие актуальной версии Python. Например для предупреждения пользователей о несовместимой версии.

#theory // just python | ChatGPT
Модуль inspect для использования процессов за кулисами в Python.

Пригодится для использования того, что происходит за кулисами в Python. Вы так же можете вызывать его методы в них же! Например метод inspect.getsource() используется для вывода его собственного исходного кода. Еще используется метод inspect.getmodule() для вывода модуля, в котором его утвердили.

#theory // just python | ChatGPT
Строковая функция capitalize()

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

#theory // just python | ChatGPT
Выражения lambda

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

#theory // just python | ChatGPT
Модуль glob

Этот модуль используется для поиска директорий для wildcards. Это означает, что его можно использовать для агрегирования данных о файлах на вашем ПК и их расширениях. glob() — это то, что нужно для выполнения поиска файлов. В ходе поиска используется синтаксис Unix, т. е. *, / и т. д.

#modules // just python | ChatGPT
Модуль re

Хватит мучиться с str.split() при обработке строк!
Модуль re используется для синтаксического анализа строк с помощью регулярных выражений и предоставляет больше возможностей для работы со строками в Python.
Модуль re предоставляет не одну, а множество крайне полезных функций. Они особенно актуальны для работы с большими объемами данных, что важно для дата-саентистов. Вот два примера, с которых стоит начать, — это функции sub() и findall().

Ещё один пример использования

#modules // just python | ChatGPT