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
F-строки

F-строки олицетворяет интерполяцию, то есть включение переменных в строковые выводы.

#theory // just python
Правдивость различных объектов

В отличие от некоторых языков программирования, в Python объект считается False, только если он пуст. Это значит, что не нужно проверять длину строки, кортежа или словаря – достаточно проверить его как логическое выражение. Разумеется, 0 – тоже False, а остальные числа – True.

#theory // just python
Проверка на вхождение подстроки

Можно проверить, содержится ли нужный элемент в кортеже, списке, словаре, с помощью конструкции if item in list:
Но это может сработать и для строк!

#theory // just python
Функция vars()

Функция vars() вернет атрибут dict - словарь пространства имен для модуля, класса, экземпляра или любого другого объекта с атрибутом dict. Без аргумента vars() действует как встроенная функция locals().

#theory // just python
Аргументы командой строки

При запуске программ через терминал можно указывать аргументы через пробел. В Python список этих аргументов хранится в переменной argv во встроенном модуле sys. Первым элементом всегда является имя запускаемого скрипта, вторым и далее — непосредственно сами аргументы.

#theory // just python
Сортировка объектов по нескольким ключам

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#theory // just python
Встроенный кэш LRU

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

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

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

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

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

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

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

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

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

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

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

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

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

#theory // just python