Рубрики
Без рубрики

Python одна линия Если без остального

Ремесло красивые питоны одноклассники столько же искусства, как это наука. В этом руководстве вы узнаете, как сжать заявление о если он без ветки остального в одной строке кода Python. https://youtu.bee/ngtksu4s_jy Проблема: Что такое одноклассник, эквивалентное простое, если заявление о том, если заявление без ветки другого Вот пример: состояние … Python одна строка Если без того, не прочитайте больше »

Автор оригинала: Chris.

Ремесло красивые питоны одноклассники столько же искусства, как это наука. В этом руководстве вы узнаете, как сжать заявление о если он без ветки остального в одной строке кода Python.

Проблема : Что такое одноклассник, эквивалентное простое, если заявление без ветви остального?

Вот пример:

condition = True

if condition:
    print('hi')

# hi

Вы можете (i) распечатать что-то, (ii) назначить значение переменной или (iii) добавить элемент в список, если удерживается условие.

В этой статье я покажу вам четыре метода того, как достичь этой цели. Все четыре метода, как правило, применимы – и вы можете легко настроить их в конкретное приложение.

Упустим быстрый обзор четырех методов в нашем интерактивном коде оболочке:

Упражнение : Запустите код для обоих Правда а также Ложь условия. Все методы семантически эквивалентны?

Метод 1: одноклассник Если выписка

Первый также самый простой метод: Если вы хотите, чтобы одноклассник без окончательного оператора, просто напишите оператор, если в одной строке! Есть много трюков (например, использование запятой), которая поможет вам создать операторы одноклассника. Но для тела, если тело только с одним утверждением, просто так же просто, как избежать разрыва линии.

condition = True

# Method 1: One-Liner If
if condition: print('hi')
# hi

Этот метод совершенно действителен, и вы могли видеть его на практике. Тем не менее, я должен упомянуть, что он «нарушает» стандарт PEP8 ( Несколько операторов в одной строке ). Поэтому вы не должны рассматривать это, чтобы быть кодом Pythonic (под солнцем все хуже вещей).

Метод 2: Темного с выбросом

Конечно, вы также можете использовать The Ternary Operator:

Если вам нужна быстрая обмоска на Тернарном операторе, Проверьте мой подробный блог. Темнарный оператор обычно используется для условно-присвоения значений. Но вы также можете выбрасывать возвращаемое значение, не назначая результата к любой переменной. В этом случае не имеет значения, если вы используете Нет Или любые другие «фиктивные» возвращаемые ценность в результате ветки остального:

condition = True

# Method 2: Ternary with Dummy
print('hi') if condition else None

Это читаемое, короткое и лаконичное И мне это нравится (ну, я могу быть немного предвзятым как автор книги Python One-listers ). Конечно, люди спросят, почему вы не написали в нескольких строках. Но где там весело?

Метод 3: Террическое значение с значением по умолчанию для назначения

Если вам нужно условно присвоение значения для переменной, но вы хотите сделать это без ветви для других, вы можете сделать следующее:

condition = True

# Method 3: Ternary with Dummy for Assignment
x = 42 if condition else None

Если условие не удерживает, «фиктивное» значение Нет назначается переменной.

Метод 4: короткое замыкание

Этот метод мне нравится больше всего. Он использует оптимизацию Python, называемую «короткое замыкание» для логических операторов: логический и Оператор просто возвращает второй операнд, если первый – Правда Отказ Там нет логического преобразования второго операнда, он только что вернулся как есть.

Если первый операнд Ложь Второй операнд даже не оценен.

Вы можете использовать это, чтобы условно выполнить ветку IF Печать («Привет») или любой другой код функции.

condition = True

# Method 4: Short circuiting
condition and print('hi')

Есть два варианта:

  • Состояние : Как первый операнд Правда Второй операнд возвращен. Таким образом, утверждение Печать («Привет») выполняется и строка Привет появляется на экране.
  • Состояние : Как первый операнд Ложь второй операнд даже не оценен, потому что результат логического и Операция – это Ложь в любом случае. Таким образом, утверждение Печать («Привет») никогда не выполняется.

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

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

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Оригинал: “https://blog.finxter.com/python-one-line-if-without-else/”