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

Python одна линия и / или

https://youtu.be/ht_4fxhwnmg Как работают логические и или операторы в контексте Python One-listers? Вы можете знать стандартное использование логических операторов, применяемых к логическим значениям: >>> True и False False >>> False или True True, но есть все больше для этих операторов, которые только эксперты в искусстве писания лаконичны … Python One и / Или Подробнее »

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

Как логический и и или Операторы работают в контексте одноклассников Python?

Вы можете знать стандартное использование логических операторов, применяемых к логическим значениям:

>>> True and False
False
>>> False or True
True

Но для этих операторов есть все больше, что только эксперты в искусстве пишущих лаконистых питонов.

Например, следующее использование или Оператор, примененный к не-логическим значениям, малоизвестно:

>>> 'hello' or 42
'hello'
>>> [] or 42
42

Точно так же следующее использование и оператор часто вызывает путаницу в читателях продвинутых одноиналиров Python:

>>> 'hello' and 42
42
>>> [] and 42
[]

Как и и или Работа оператора при применении к не-логированным операндам?

Чтобы понять, что происходит, вам нужно посмотреть на определения логических операторов:

А или Б. Возвращает B Если выражение A оценивает ложно, используя неявное булевое преобразование. Если выражение A оценивает true, выражение A возвращается.
А и Б. Возвращает B Если выражение A оценивает к True с использованием неявного булева преобразования. Если выражение A оценивает ложное, выражение A возвращается.

Изучите эти объяснения тщательно! Возвращаемое значение имеет одинаковых данных операндов – они возвращают только логическое значение, если операнды уже логичны!

Эта оптимизация называется короткое замыкание И это обычная практика во многих языках программирования. Например, не нужно оценивать результат второго операнда и операции, если первый операнд оценивает Ложь Отказ Вся операция должна оценивать в Ложь В этом случае потому, что логические и только возвращает Правда Если обе операнды являются Правда Отказ

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

l = []
if l:
    print('hi')
else:
    print('bye')
# bye

Вы проходите Список в то, если состояние. Затем Python преобразует список для логического значения, чтобы определить, какую ветвь для посещения дальше. Пустой список оценивает Ложь Отказ Все остальные списки оцениваются в Правда Так что результат – Пока Отказ

Вместе короткие замыкания и неявное логическое преобразование позволяют логическими операторам и или, либо наносить на любой два объекта Python в качестве операндов. Возвращаемое значение всегда является одним из двух операндов, использующих правила короткого замыкания, описанные в таблице.

Попробуйте сами в нашем интерактивном коде раковину:

Упражнение : Угадай вывод! Тогда проверьте, были ли вы правы! Создайте свои собственные сумасшедшие операнды и оцените их, выполняя код в вашем браузере.

Python One-Liners Книга

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

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

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

Используйте структуры данных для решения реальных проблем, такие как использование булевой индексации для поиска городов с загрязнением выше среднего Используйте Numpy Basics, такие как массив, форма, ось, тип, вещание, расширенная индексация, нарезка, сортировка, поиск, агрегация и статистика Рассчитайте базовую статистику многомерных массивов данных и алгоритмы K-означает для безоговорочного обучения Создайте более усовершенствованные регулярные выражения с помощью группировки и названных групп, отрицательные LookAeads, сбежавшие символы, пробелы, наборы символов (и наборы отрицательных символов) и жадные/негридические операторы Понимать широкий ассортимент темы компьютерных наук, включая анаграммы, палиндромы, сверты, перестановки, факториалы, простые числа, цифры фибоначчи, обфускации, поиск и алгоритмическую сортировку

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

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

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

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

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