«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Оптимизация вашего кода с помощью оператора Walrus в Python: примеры из реальной жизни и антишаблоны, которых следует избегать

Оптимизация вашего кода с помощью оператора Walrus в Python: примеры из реальной жизни и антишаблоны, которых следует избегать

Опубликовано 27 августа 2024 г.
Просматривать:547

Optimizing Your Code with Python

Введение:
Оператор моржа, представленный в Python 3.8, — это полезный инструмент для разработчиков, позволяющий упростить и оптимизировать свой код. Он позволяет назначать переменные внутри выражений, что делает его более кратким и эффективным подходом к программированию. Однако, как и любой инструмент, его следует использовать умеренно и разумно. В этом уроке мы рассмотрим реальные примеры использования оператора «морж» и выделим несколько анти-шаблонов, которых следует избегать.

Реальные примеры использования оператора Walrus:
1. Упрощение условных операторов
Одним из наиболее распространенных вариантов использования оператора моржа является упрощение условных операторов. Допустим, у нас есть функция, которая возвращает длину строки, и мы хотим проверить, превышает ли эта длина 10. Используя оператор моржа, мы можем присвоить переменную длину непосредственно внутри условного оператора, сэкономив при этом строку кода.

Пример условного оператора без оператора моржа

длина = длина (строка)
если длина > 10:
print("Строка длиннее 10 символов.")

Пример использования оператора моржа

if (длина:= len(строка)) > 10:
print("Строка длиннее 10 символов.")

2. Как избежать повторных вызовов функций
В некоторых случаях использование оператора моржа может повысить производительность нашего кода, избегая повторных вызовов функций. В следующем примере мы хотим вычислить среднюю оценку учащегося, но нам также необходимо проверить, прошел ли учащийся курс. Без оператора моржа нам пришлось бы вызывать функцию дважды, но с его помощью мы можем присвоить результат функции переменной и использовать его как в условном операторе, так и в вычислениях.

Пример без оператора-моржа

оценка1 = вычисляемая_оценка(студент, тест1)
оценка2 = вычисляемая_оценка(студент, тест2)
если (класс1 класс2) / 2 >= 70:
print("Студент сдал урок.")

if ((grade1 := вычислять_оценку(студент, тест1)) (оценка2 := вычислять_оценку(студент, тест2))) / 2 >= 70:
print("Студент сдал урок.")

3. Упрощение понимания списков
Понимание списков — это мощный инструмент для управления и фильтрации данных в списке. Однако сложные списки списков могут оказаться трудными для чтения и обслуживания. Использование оператора моржа может упростить понимание, позволяя нам назначать переменные внутри выражения.

Пример понимания списка без оператора моржа

results = [compute_profit(sales, Cost) для продаж, стоимость в Sales_data, если Compute_profit(sales, Cost) > 50]

Пример использования оператора моржа

results = [(profit := Compute_profit(sales, Cost)) для продаж, стоимость в данных sales_data, если прибыль > 50]

Анти-паттерны: как не использовать оператор «Морж»:
1. Понимание сложных списков
Хотя оператор моржа может упростить понимание списков, чрезмерное его использование может привести к созданию сложного и нечитаемого кода. В этом антишаблоне мы видим понимание списка с множеством вложенных условий и присваиваний. Это может оказаться трудным для чтения и поддержки, поэтому лучше разбить логику на отдельные этапы.

Пример понимания запутанного списка с помощью вложенного оператора моржа

данные_продаж = [(100, 70), (200, 150), (150, 100), (300, 200)]
результаты = [(продажи, стоимость, прибыль, объем продаж) для продаж, стоимость в данных продаж, если (прибыль := вычислительная прибыль(продажи, затраты)) > 50
if (sales_ratio := продажи/себестоимость) > 1,5 if (profit_margin := (прибыль/продажи)) > 0,2]

2. Вложенные операторы моржа
Использование вложенных операторов моржа может привести к тому, что код станет трудным для чтения и понимания. В этом примере мы видим вложенные операторы в одном выражении, что затрудняет распаковку логики и понимание кода. Лучше разбить логику на несколько строк для лучшей читаемости и удобства сопровождения.

Пример вложенных операторов моржа

значения = [5, 15, 25, 35, 45]
порог = 20
результаты = []
для значения в значениях:
if (above_threshold:= значение > порог) и (приращение:= (new_value:= значение 10) > 30):
results.append(new_value)
печать(результаты)

Заключение:
Оператор моржа — мощный инструмент для упрощения и оптимизации кода, но его следует использовать с осторожностью. Понимая его возможности и ограничения, мы можем эффективно использовать его в нашем коде и избегать распространенных антишаблонов.

Практические сертификационные тесты Python MyExamCloud — полезный инструмент для тех, кто готовится к любой сертификации Python.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/myexamcloud/optimizing-your-code-with-pythons-walrus-operator-real-world-examples-and-anti-patterns-to-avoid-10ii?1 Любой нарушение, пожалуйста, свяжитесь с [email protected], чтобы удалить
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3