Обязательные аргументы
Для принудительного использования аргументов ставьте символ звездочки перед ними, заставляя все аргументы стать ключевыми
#theory // Just Python
Для принудительного использования аргументов ставьте символ звездочки перед ними, заставляя все аргументы стать ключевыми
#theory // Just Python
Использование подчеркивания в REPL
Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом
#theory // Just Python
Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом
#theory // Just Python
Проверка необходимой версии Python
Чтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python.
#theory // Just Python
Чтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python.
#theory // Just Python
Декорируем функции
Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.
#theory // Just Python
Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.
#theory // Just Python
Nested list comprehensions
Помните основной синтаксис list comprehensions?
Если expression может быть любым валидным выражением Python, оно также может быть и другим list comprehension.
Или, если хотите «разгладить» предыдущую матрицу.
#theory // Just Python
Помните основной синтаксис list comprehensions?
[ expression for item in list if conditional ]
Если expression может быть любым валидным выражением Python, оно также может быть и другим list comprehension.
Или, если хотите «разгладить» предыдущую матрицу.
#theory // Just Python
Форматирование именованных строк
Такую штуку используют нечасто, но если данные уже находятся в словаре, для форматирования именованных строк пригодится.
Вы даже можете использовать функцию locals(), но в последних версиях Python придется обращаться к f-строкам.
#theory // Just Python
Такую штуку используют нечасто, но если данные уже находятся в словаре, для форматирования именованных строк пригодится.
Вы даже можете использовать функцию locals(), но в последних версиях Python придется обращаться к f-строкам.
#theory // Just Python
Нарезка списка
Синтаксис нарезания таков:
Start, stop и step необязательны. У них есть дефолтные значения, которые активируются, если не заполнить параметры:
0 для start;
конец списка для stop;
1 для step.
#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
С помощью sys.getsizeof() можно проверить использование памяти объектом
Огромный список всего 48 байт, потому что функция range возвращает класс, который ведет себя как список. В вопросе памяти range эффективнее, чем использование актуального списка чисел.
#theory // Just Python
Возврат нескольких значений
Функции в Python могут возвращать более одной переменной без применения словаря, списка или класса.
Здесь возвращается кортеж. С тем же эффектом можно было бы написать return (name, birthdate).
Это нормально для ограниченного количества возвращаемых значений. Но все, что превышает 3 значения, должно быть помещено в класс (data).
#theory // Just Python
Функции в Python могут возвращать более одной переменной без применения словаря, списка или класса.
Здесь возвращается кортеж. С тем же эффектом можно было бы написать return (name, birthdate).
Это нормально для ограниченного количества возвращаемых значений. Но все, что превышает 3 значения, должно быть помещено в класс (data).
#theory // Just Python
Объединение словарей
Начиная с Python 3.5, стало проще объединять словари.
Если встречаются дублирующиеся ключи – в первом словаре они будут перезаписаны.
#theory // Just Python
Начиная с Python 3.5, стало проще объединять словари.
Если встречаются дублирующиеся ключи – в первом словаре они будут перезаписаны.
#theory // Just Python
Использование * и ** для распаковки аргументов функций
Некоторые функции требуют длинного списка аргументов. Этого следует избегать (например, с помощью классов данных), хотя это не всегда зависит от вас. Существует другой вариант – создать словарь с именованными аргументами и передать его функции. Так ваш код станет более читабельным.
Распаковать словарь можно, используя префикс **
Аналогично можно использовать * для распаковки массива и передачи его содержимого в качестве аргументов функции
#theory // Just Python
Некоторые функции требуют длинного списка аргументов. Этого следует избегать (например, с помощью классов данных), хотя это не всегда зависит от вас. Существует другой вариант – создать словарь с именованными аргументами и передать его функции. Так ваш код станет более читабельным.
Распаковать словарь можно, используя префикс **
Аналогично можно использовать * для распаковки массива и передачи его содержимого в качестве аргументов функции
#theory // Just Python
Строка – заголовок
Если хотите быстро получить красивый заголовок, используйте .title()
#theory // Just Python
Если хотите быстро получить красивый заголовок, используйте .title()
#theory // Just Python