Data classes
Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:
- возврат нескольких значений или словарей;
- класс данных требует минимального количества кода;
- возможность сравнения классов данных;
- возможность распечатать класс данных для отладки при помощи repr;
- снижение вероятности ошибок в связи с требованием класса данных type hints.
Разъяснивший Python
Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:
- возврат нескольких значений или словарей;
- класс данных требует минимального количества кода;
- возможность сравнения классов данных;
- возможность распечатать класс данных для отладки при помощи repr;
- снижение вероятности ошибок в связи с требованием класса данных type hints.
Разъяснивший Python
List Comprehensions
List comprehension может заменить неэстетичные циклы, используемые для заполнения списка. Синтаксис выглядит следующим образом:
Поскольку здесь можно использовать выражения, вам доступна работа с математикой, вызов внешней функции и, наконец, вы сможете использовать «if» для фильтрации списка.
Разъяснивший Python
List comprehension может заменить неэстетичные циклы, используемые для заполнения списка. Синтаксис выглядит следующим образом:
[ expression for item in list if conditional ]
Поскольку здесь можно использовать выражения, вам доступна работа с математикой, вызов внешней функции и, наконец, вы сможете использовать «if» для фильтрации списка.
Разъяснивший Python
Замена переменных на месте
Этот аккуратный трюк поможет сэкономить несколько строк кода.
Разъяснивший Python
Этот аккуратный трюк поможет сэкономить несколько строк кода.
Разъяснивший Python
Настраиваемый логгер-декоратор
Начнем с примера использования. Так мы не перегружаем внимание внутренней сложностью и повышаем шансы создать удачный интерфейс модуля. На этом принципе основана разработка через тестирование — test-driven development (TTD).
У класса
Разъяснивший Python
Начнем с примера использования. Так мы не перегружаем внимание внутренней сложностью и повышаем шансы создать удачный интерфейс модуля. На этом принципе основана разработка через тестирование — test-driven development (TTD).
У класса
Logger есть метод log_msg(), который можно использовать напрямую внутри функций.Разъяснивший Python
Использование подчеркивания в REPL
Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом
Разъяснивший Python
Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом
Разъяснивший Python
Сложение списков
Не всегда операторы в python ведут себя так, как мы привыкли. Например сложение списков.
Как видно, инструкция 28 в случае
Разъяснивший Python
Не всегда операторы в python ведут себя так, как мы привыкли. Например сложение списков.
Как видно, инструкция 28 в случае
+ простое сложение, а в случае += — сложение на месте, которое не приводит к созданию нового списка. += в данном случае сопоставим по производительности с list.extend.Разъяснивший Python
Декорируем функции
Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.
Разъяснивший Python
Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.
Разъяснивший Python
Форматирование именованных строк
Такую штуку используют нечасто, но если данные уже находятся в словаре, для форматирования именованных строк пригодится.
Вы даже можете использовать функцию locals(), но в последних версиях Python придется обращаться к f-строкам.
Разъяснивший Python
Такую штуку используют нечасто, но если данные уже находятся в словаре, для форматирования именованных строк пригодится.
Вы даже можете использовать функцию locals(), но в последних версиях Python придется обращаться к f-строкам.
Разъяснивший Python
Нарезка списка
Синтаксис нарезания таков:
Start, stop и step необязательны. У них есть дефолтные значения, которые активируются, если не заполнить параметры:
0 для start;
конец списка для stop;
1 для step.
Разъяснивший Python
Синтаксис нарезания таков:
a[start:stop:step]
Start, stop и step необязательны. У них есть дефолтные значения, которые активируются, если не заполнить параметры:
0 для start;
конец списка для stop;
1 для step.
Разъяснивший Python