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

Резюме: Чтобы использовать ветку ELIF в Тернарном операторе, используйте другой тройной оператор в результате ветви иного ветви (вложенный тройник). Вложенный тройной оператор X Если C0 else y Если C1 Els Z возвращает x Если условие C0 выполнено, если (ELIF) Условие C1 выполняется, он возвращает Y, остальное … Python Ternary Elif Подробнее »

Резюме: Чтобы использовать ветку ELIF в Тернарном операторе, используйте другой тройной оператор в результате ветви иного ветви (вложенный тройник). Вложенный тройной оператор X Если C0 else y Если C1 Els Z возвращает x Если условие C0 выполнено, если (ELIF) Условие C1 выполняется, он возвращает Y, остальное … Python Ternary Elif Подробнее »

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

Резюме : Чтобы использовать ветку ELIF в Темном операторе, используйте другой тройной оператор в результате ветви Evel (stated Ternary оператор). Вложенный тройник оператор X Если C0 остальное Y, если C1 els z Возвращает х Если условие C0 встречается, иначе (ELIF) состояние C1 встречается, он возвращает y , еще это возвращает z Отказ

Проблема : Вы, возможно, видели Тернарный оператор х если с остальными y Отказ Есть ли похожий тройник с дополнительным утверждением ELIF? В псевдокоде вы хотите что-то вроде:

# Pseudocode
x if c elif y0 else y1

Другими словами: Какой лучший способ расширить Тернарного оператора к тому, что вы можете назвать «четвертичным» оператором?

Фон : Самый простой тройной оператор х если с остальными y состоит из трех операндов х , C и y Отказ Это выражение с возвращаемой стоимостью. Темнарный оператор возвращает х Если логическое выражение C оценивает Правда Отказ В противном случае, если выражение C оценивает Ложь Торговый оператор возвращает альтернативу y Отказ

Узнайте больше о Темнарном операторе в нашем подробном статье блога!

Пример : Скажем, вы хотите написать следующее состояние, если в одном случае в одной строке кода:

>>> x = 42
>>> if x > 42:
>>>     print("no")
>>> elif x == 42:
>>>     print("yes")
>>> else:
>>>     print("maybe")
yes

Элиф Филиал выигрывает: Вы печатаете вывод «Да» в оболочку.

Но как сделать это в одной строке кода? Просто используйте Ternary Operator с оператором ELIF не будет работать (он бросит синтаксисную ошибку):

Метод: вложенный тройник оператор

Ответ прост: гнездо двух тройных операторов, как так:

>>> print("no") if x > 42 else print("yes") if x == 42 else print("maybe")
yes

Если значение x больше 42, мы печатаем «нет» в оболочку. В противном случае мы выполняем остаток кода (который является тройным оператором сама). Если значение x равно 42, мы печатаем «Да», иначе «возможно».

Поэтому, вложении нескольких тройных операторов, мы сможем значительно увеличить нашу власть Python One-Liner!

Попробуй сам:

Упражнение : Какой метод более лаконичен? Подсчитайте количество символов (или напишите небольшой сценарий, который делает это для вас;))!

Python Ternary Многократный ELIF

В предыдущем примере вы видели, как семестный оператор Tемна семантически добавляет ветку ELIF. Теоретически, вы можете добавить произвольное количество ветвей ELIF, вложенные все больше и более тройных операторов:

# Method 1: If ... Elif ... Else
x = 42
if x > 42:
    y = 1
elif x == 42:
    y = 2
elif x == 12:
    y = 3
else:
    y = 4
print(y)
# 2

# Method 2: Nested Ternary Operator
y = 1 if x > 42 else 2 if x == 42 else 3 if x == 12 else 4
print(y)
# 2

Тем не менее, читабельность страдает плохо, и вы не должны ничего делать. Простой Mult-Line Если ... Элиф ... Элиф ... еще Заявление лучше!

Обсуждение

Тем не менее, даже если вложенный тройник оператор является более лаконичным, чем оператор IF-ELIF, он не рекомендуется из-за читаемости вашего кода. У большинства программистов нет никаких проблем с пониманием простого ELIF-ELIF-ELECT. Но вложенный тройник оператор – это продвинутый кусок Python код, и особенно начинающие будут бороться понять его.

Итак, это здорово, что вы расширили свою сверхдержаву одну лайну. Но вы должны использовать это мудро!

Похожие видео: если-то-другое в одной строке кода Python

Python One-LiLERS Книга: сначала мастер по одной линии!

Python Programmemers улучшит свои навыки информатики с этими полезными одноклассниками.

Python One-listers научит вас, как читать и писать “одноклассники”: Краткие заявления полезной функциональности упакованы в одну строку кода. Вы узнаете, как систематически распаковать и понимать любую строку кода Python и писать красноречие, мощно сжатый Python, как эксперт.

Пять главных глав Книги покрывают (1) Советы и трюки, (2) Регулярные выражения, (3) Машинное обучение, (4) Основные темы науки о данных и (5) Полезные алгоритмы.

Подробные объяснения одноклассников вводят Ключевые компьютерные науки концепции и повысить ваши кодирование и аналитические навыки Отказ Вы узнаете о продвинутых функциях Python, такие как Понимание списка , нарезка , лямбда функции , Регулярные выражения , карта и Уменьшить Функции и Срежительные задания Отказ

Вы также узнаете, как:

  • Используйте структуры данных для Решить реальные проблемы , как использовать булевую индексацию, чтобы найти города с загрязнением выше среднего
  • Использовать Numpy Основы такие как массив , Форма , Ось , Тип , вещание , Расширенная индексация , нарезка , сортировка , поиск , агрегация и статистика
  • Рассчитайте Basic статистика многомерных массивов данных и алгоритмы K-означает для немецкого обучения
  • Создать больше Усовершенствованные регулярные выражения Использование группировка и названные группы , Отрицательный взгляд , Сбежавшие персонажи , Пробелы, наборы персонажейотрицательные персонажи наборы ), а Жадные/негреюные операторы
  • Понять широкий ассортимент Темы компьютерных наук , в том числе Анаграммы , Палиндромы , Supersets , Перестановки , факториалы , Простые номера , Фибоначчи Числа, запутывание , поиск и Алгоритмическая сортировка

К концу книги вы будете знать, как Напишите Python на самых изысканных И создайте краткие, красивые кусочки «Python Art» в просто одной линии.

Получите свой Python One-Liners на Amazon !!

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

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

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