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

Что такое выражения присваивания и почему они были представлены в Python 3.8?

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

What are Assignment Expressions and Why Were They Introduced to Python 3.8?

Понимание выражений присваивания в Python 3.8

Начиная с Python 3.8, оператор «морж» (:=) ввел в язык выражения присваивания. Эта новая функция позволяет программистам присваивать значения в рамках понятий и лямбда-функций, которые ранее были ограничены обычными присваиваниями.

Обоснование выражений присваивания

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

  • Получение условного значения: условные значения можно получить более кратко, как показано в примере интерактивной отладки, приведенном в документации Python.
  • Упрощенные генераторы списков: сложные генераторы списков можно упростить путем присвоения промежуточных значений переменным в рамках алгоритма, что делает код более читабельным и управляемым.

Синтаксис, семантика, и грамматика

Выражения присваивания имеют определенный синтаксис: name := expr, где name — это идентификатор, а expr — любое допустимое выражение Python. Значение выражения присваивания такое же, как выражение expr, но дополнительный побочный эффект присваивает значение целевому имени.

Выражения присваивания отличаются от обычных операторов присваивания в нескольких ключевых аспектах:

  • Они являются выражениями, а не операторами, и поэтому могут появляться в контекстах, где выражения ожидаются.
  • Они имеют другой порядок вычислений (справа налево) и другой приоритет по сравнению с обычными присваиваниями.
  • Они не поддерживают множественные цели, присвоения неодиночным именам, итеративную упаковку/распаковку, аннотации встроенных типов или расширенные операции присваивания.

Причины введения выражений присваивания

Несмотря на отзыв PEP 379, в котором предлагалась аналогичная концепция, PEP 572 ввел выражения присваивания в Python по нескольким причинам:

  • Чтобы улучшить читаемость и удобство сопровождения кода, особенно в рамках понимания и лямбды.
  • Чтобы включить интерактивную отладку без необходимости рефакторинга кода.
  • Чтобы обеспечить более эффективный способ назначения условных значений и упростить понимание списков.
  • Чтобы согласовать синтаксис Python с другими современными языками программирования, поддерживающими выражения присваивания.
Последний учебник Более>

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

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

Copyright© 2022 湘ICP备2022001581号-3