Just Python
9.81K subscribers
4.73K photos
17 videos
4.72K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Обязательные аргументы

Для принудительного использования аргументов ставьте символ звездочки перед ними, заставляя все аргументы стать ключевыми

#theory // Just Python
Использование подчеркивания в REPL

Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом

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

Чтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python.

#theory // Just Python
Декорируем функции

Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.

#theory // Just Python
Nested list comprehensions

Помните основной синтаксис list comprehensions?
[ expression for item in list if conditional ]


Если expression может быть любым валидным выражением Python, оно также может быть и другим list comprehension.
Или, если хотите «разгладить» предыдущую матрицу.

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

Такую штуку используют нечасто, но если данные уже находятся в словаре, для форматирования именованных строк пригодится.

Вы даже можете использовать функцию locals(), но в последних версиях Python придется обращаться к f-строкам.

#theory // Just Python
Нарезка списка

Синтаксис нарезания таков:
a[start:stop:step]


Start, stop и step необязательны. У них есть дефолтные значения, которые активируются, если не заполнить параметры:
0 для start;
конец списка для stop;
1 для step.

#theory // Just Python
Использование памяти

С помощью sys.getsizeof() можно проверить использование памяти объектом

Огромный список всего 48 байт, потому что функция range возвращает класс, который ведет себя как список. В вопросе памяти range эффективнее, чем использование актуального списка чисел.

#theory // Just Python
Возврат нескольких значений

Функции в Python могут возвращать более одной переменной без применения словаря, списка или класса.

Здесь возвращается кортеж. С тем же эффектом можно было бы написать return (name, birthdate).
Это нормально для ограниченного количества возвращаемых значений. Но все, что превышает 3 значения, должно быть помещено в класс (data).

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

Начиная с Python 3.5, стало проще объединять словари.

Если встречаются дублирующиеся ключи – в первом словаре они будут перезаписаны.

#theory // Just Python
Использование * и ** для распаковки аргументов функций

Некоторые функции требуют длинного списка аргументов. Этого следует избегать (например, с помощью классов данных), хотя это не всегда зависит от вас. Существует другой вариант – создать словарь с именованными аргументами и передать его функции. Так ваш код станет более читабельным.

Распаковать словарь можно, используя префикс **

Аналогично можно использовать * для распаковки массива и передачи его содержимого в качестве аргументов функции

#theory // Just Python
Строка – заголовок

Если хотите быстро получить красивый заголовок, используйте .title()

#theory // Just Python