Моржовый оператор (Walrus Operator)
Новый способ присваивания выражения (
Присваивания с помощью моржа требуется делать в круглых скобках, и перед знаком равно пишется двоеточие. Внутри скобок либо создается новая переменная, либо происходит присвоение значения уже существующий переменной.
Но фишка заключается в том, что вся эта конструкция, скажем так, возвращает присвоенное значение, как это делают обычные функции. А если хотите практические примеры, то напишите плюсик в чат.
#тонкости
Новый способ присваивания выражения (
:=
), или оператор «морж», был самой обсуждаемой функцией, представленной в Python версии 3.8. Новое дополнение к языку было предложено в PEP 572.Присваивания с помощью моржа требуется делать в круглых скобках, и перед знаком равно пишется двоеточие. Внутри скобок либо создается новая переменная, либо происходит присвоение значения уже существующий переменной.
Но фишка заключается в том, что вся эта конструкция, скажем так, возвращает присвоенное значение, как это делают обычные функции. А если хотите практические примеры, то напишите плюсик в чат.
#тонкости
Моржовый оператор – примеры
В предыдущем посте мы обсудили синтаксис нового оператора присваивания. В чате появилось достаточное количество просьб продолжить, поэтому в этом посте мы рассмотрим частные случаи, когда морж в коде выглядит солидно.
Но для начала стоит отметить ещё один важный момент – моржовый оператор не создаёт новую область видимости. То есть переменная, созданная в условии конструкции
#тонкости
В предыдущем посте мы обсудили синтаксис нового оператора присваивания. В чате появилось достаточное количество просьб продолжить, поэтому в этом посте мы рассмотрим частные случаи, когда морж в коде выглядит солидно.
Но для начала стоит отметить ещё один важный момент – моржовый оператор не создаёт новую область видимости. То есть переменная, созданная в условии конструкции
if-else
с помощью моржа, также будет доступна и за пределом блока.#тонкости
3 трюка с itertools
Сегодня мы рассмотрим несколько функций из довольно полезного модуля, позволяющих эффективно работать с итерируемыми объектами. Начнём с очень простой функции –
Далее,
А для того, чтобы создавать комбинации из элементов выбранного итерируемого объекта, вам понадобится функция
#модули #itertools
Сегодня мы рассмотрим несколько функций из довольно полезного модуля, позволяющих эффективно работать с итерируемыми объектами. Начнём с очень простой функции –
chain
. Она позволяет "склеивать" несколько итерируемых элементов в один.Далее,
accumulate
. Эта функция немного похожа на reduce
, но вместо того, чтобы давать одно окончательное значение, она последовательно применяет функцию, заданную вторым аргументом (в данном случае min
), к каждому последующему элементу по порядку: min(11)
, min(11, 3)
, min(11, 3, 9)
и так далее.А для того, чтобы создавать комбинации из элементов выбранного итерируемого объекта, вам понадобится функция
combinations
. Вторым аргументом можно задать длину этой самой комбинации.#модули #itertools
Топ 5 асинхронных веб-фреймворков на Python
Асинхронность уже не является просто модным словечком в сообществе Python. Новые и старые библиотеки начали использовать функционал корутин, асинхронные фреймворки взорвались популярностью, а на сегодняшний день пишут всё больше и больше новых модулей.
Тему асинхронности уже невозможно игнорировать, поэтому сегодня мы подготовили для вас крайне интересную статью, в которой рассказали про самые перспективные асинхронные веб-фреймворки в 2020 году.
Читать 6 минут
#статья
Асинхронность уже не является просто модным словечком в сообществе Python. Новые и старые библиотеки начали использовать функционал корутин, асинхронные фреймворки взорвались популярностью, а на сегодняшний день пишут всё больше и больше новых модулей.
Тему асинхронности уже невозможно игнорировать, поэтому сегодня мы подготовили для вас крайне интересную статью, в которой рассказали про самые перспективные асинхронные веб-фреймворки в 2020 году.
Читать 6 минут
#статья
Правильным ответом является [1, 2]
Происходит так из-за того, что дефолтные параметры хранятся в неизменном кортеже в атрибуте функции
А для того, чтобы добиться правильного поведения функции, следует воспользоваться ключевым словом
Происходит так из-за того, что дефолтные параметры хранятся в неизменном кортеже в атрибуте функции
defaults
, который создается один раз в момент определения функции.А для того, чтобы добиться правильного поведения функции, следует воспользоваться ключевым словом
None
при определении аргументов по-умолчанию.Another yet itertools tricks
Всем привет! Не так давно мы рассматривали 3 трюка с модулем
Начнем с функции
Для того, чтобы составить комбинацию с повторениями, используют функцию
Ну и в заключение, рассмотрим функцию
#модули #itertools
Всем привет! Не так давно мы рассматривали 3 трюка с модулем
itertools
. Сегодня мы рассмотрим еще несколько полезных фишек этого крутого модуля.Начнем с функции
combinations
. Она позволяет составлять комбинации элементов из итерируемых объектов без повторений. Первый аргумент это сам объект, а второй – длина комбинации.Для того, чтобы составить комбинацию с повторениями, используют функцию
combinations_with_replacement
. Делает она абсолютно все то же самое что и предыдущая, с одним исключением – теперь в комбинации могут быть повторы.Ну и в заключение, рассмотрим функцию
compress
, применяющую "маску" из второго аргумента функции к первому. То есть, если в маске на этом месте стоит единица, то в исходном массиве цифра остается нетронутой, и наоборот.#модули #itertools
Method Resolution Order
В Python существует так называемый Method Resolution Order (MRO), или порядок разрешения методов. Всё, что вам нужно знать – это порядок, в котором Python ищет нужный атрибут или метод.
Этот порядок можно получить при помощи атрибута
Отсюда становится понятно, что артибут первее будет найден именно в классе
В Python существует так называемый Method Resolution Order (MRO), или порядок разрешения методов. Всё, что вам нужно знать – это порядок, в котором Python ищет нужный атрибут или метод.
Этот порядок можно получить при помощи атрибута
__mro__
. Он говорит о том, что если мы в примере выше попробуем обратиться к атрибуту value
, Python будет искать сначала в классе A
, далее в B
, затем в C
и в самом конце в object
. Отсюда становится понятно, что артибут первее будет найден именно в классе
B
и равен он будет значению 1
.Вечный вопрос: Django или Flask
Практически все сталкиваются с этим выбором, когда начинают писать серверную часть для веб-приложений. Оба фреймворка крайне мощные, но всё-таки надо для начала выбрать один из них.
Django является более монолитным и предоставляет сразу множество инструментов из коробки, а Flask в свою очередь гибкий и минималистичный.
В случае, если в приоритете трудоустройство, то следует изучать Django, так как он наиболле востребованный. Но если вы хотите создавать пет-проекты или просто изучать веб в целом, то рекомендую рассматривать Flask.
#мнение
Практически все сталкиваются с этим выбором, когда начинают писать серверную часть для веб-приложений. Оба фреймворка крайне мощные, но всё-таки надо для начала выбрать один из них.
Django является более монолитным и предоставляет сразу множество инструментов из коробки, а Flask в свою очередь гибкий и минималистичный.
В случае, если в приоритете трудоустройство, то следует изучать Django, так как он наиболле востребованный. Но если вы хотите создавать пет-проекты или просто изучать веб в целом, то рекомендую рассматривать Flask.
#мнение
Pandas для начинающих
На сегодняшний день, пакет Pandas – самый важный инструмент во всем, что касается анализа данных. И если вы думаете о карьере в области Data Science, то крайне важно уметь работать с этим пакетом.
В этой статье мы рассмотрим наиболее важную информацию о Pandas и научимся использовать основные его функции для работы с данными.
Читать 8 минут
#статья
На сегодняшний день, пакет Pandas – самый важный инструмент во всем, что касается анализа данных. И если вы думаете о карьере в области Data Science, то крайне важно уметь работать с этим пакетом.
В этой статье мы рассмотрим наиболее важную информацию о Pandas и научимся использовать основные его функции для работы с данными.
Читать 8 минут
#статья