Python условия и операторы
Содержание:
- Коллекции в Python
- Основные строковые функции
- Расширенные строковые функции Python
- Приоритеты
- Настройка оператора % для ваших собственных классов
- Операторы сравнения
- # Сложные логические выражения
- Операторы:
- Битовые операторы в Python
- Функция ord()
- Операторы присваивания в Python
- Логические операторы
- Функция chr()
- Отрицание логического значения в Python С помощью оператора not
- Где используется Python и почему
- Логические операторы
- Условия в Python:
- Вывод
Коллекции в Python
Python не реализует массивы так, как это делают другие языки, такие как C и Java. Вместо этого используются списки с переменной длиной и смешанными типами данных. Тем не менее, вы можете определить массивоподобные структуры для числовых типов данных:
import array as python_array a = python_array.array('d', )
К элементам можно получить доступ, используя их индекс:
print(a) print(a) a = 2222
Просто помните, что индексы начинаются с нуля. Вы можете использовать len(), чтобы получить длину массива:
print(len(a)) # вывести длину массива
Как упоминалось выше, массивы в Python отличаются от других языков. Массивы Python не имеют фиксированной длины. Вы всегда можете динамически удалять и добавлять элементы:
# Add three elements to the end of the array # Добавление элементов в конец массива a.append(10) a.append(20) a.append(30) # Remove the first three element # Удаляем первые три элемента a.pop(0)
Полный список функций смотрите в официальной документации Python.
Массив, упомянутый выше, представляет собой оптимизированную специальную форму списка, которая принимает только числовые значения того же типа. Поэтому список может использоваться точно так же, как массив, но вы не ограничены использованием одного типа данных:
li = ]
Как видите, «li» может содержать что угодно в любое время. Все остальные функции, упомянутые выше, работают точно так же, как и для массивов.
Другой тип коллекции — это кортеж. В отличие от элементов в списке, элементы в кортеже не могут быть изменены при инициализации:
# Note the round brackets instead of the square ones
# Обратите внимание на круглые скобки вместо квадратных
tu = (1, 2, 3, «cat», «dog», «parrot»)
Операции вставки, обновления и удаления не будут работать, но элементы по-прежнему будут доступны с помощью их индекса.
Следующая важная структура данных — это множество. Элементы, содержащиеся в нем, не могут быть проиндексированы, как раньше, но вы всегда можете добавить новые элементы и удалить существующие из него. Вы также можете проверить, является ли значение элементом множества:
s = {"pie", "bread", "steak"} print(s.pop()) s.add(30) print(len(s)) s.pop() print(len(s))
Функция pop() здесь не принимает никаких параметров и возвращает удаленный элемент. Вы можете вставить новые элементы с помощью метода add(). Опять же, полный список функций смотрите в .
Последняя структура данных — это словарь. Эта коллекция связывает два значения вместе в отношении ключ-значение, где на каждое значение можно ссылаться, используя уникальный ключ:
telephone_book = { "Peter":9238172, "Laura":1119823, "Mark":9952174, "Liz":8009822 } print("Laura\'s phone number is:") print(telephone_book)
Значения могут быть изменены таким же образом, и len() даст вам длину структуры. Вы можете добавлять элементы, используя новый ключ в качестве индекса и присваивая ему значение:
telephone_book = 5557281 print("Ben\'s phone number is:") print(telephone_book)
Вы можете использовать pop() вместе с ключом, чтобы удалить объект, как со списками.
Основные строковые функции
capitalize() | Преобразует первый символ строки в верхний регистр | str_name.capitalize() |
casefold() | Он преобразует любую строку в нижний регистр независимо от ее регистра | str_name.casefold() |
center() | Используется для выравнивания строки по центру | str_name.center (длина, символ) |
count() | Для подсчета количества раз, когда определенное значение появляется в строке. | str_name.count (значение, начало, конец) |
endswith() | Проверяет, заканчивается ли строка указанным значением, затем возвращает True | str_name.endswith (значение, начало, конец) |
find() | Используется для определения наличия указанного значения в строке | str_name.find (значение, начало, конец) |
index() | Он используется для поиска первого вхождения указанного значения в строке | str_name.index (значение, начало, конец) |
isalnum() | Проверяет, все ли символы являются буквенно-цифровыми, затем возвращает True | str_name.isalnum() |
isalpha() | Проверяет, все ли символы являются алфавитными (az), затем возвращает True | str_name.isalpha() |
isdecimal() | Проверяет, все ли символы являются десятичными (0-9), затем возвращает True | str_name.isdecimal() |
isdigit() | Проверяет, все ли символы являются цифрами, затем возвращает True | str_name.isdigit() |
islower() | Проверяет, все ли символы в нижнем регистре, затем возвращает True | str_name.islower() |
isnumeric() | Проверяет, все ли символы являются числовыми (0-9), затем возвращает True | str_name.isnumeric() |
isspace() | Проверяет, все ли символы являются пробелами, затем возвращает True | str_name.isspace() |
isupper() | Проверяет, все ли символы в верхнем регистре, затем возвращает True | str_name.isupper() |
lower() | Используется для преобразования всех символов в нижний регистр | str_name.lower() |
partition() | Используется для разделения строки на кортеж из трех элементов. | str_name.partition (значение) |
replace() | Используется для замены указанного слова или фразы другим словом или фразой в строке. | str_name.replace (старое значение, новое значение, количество) |
split() | Используется для разделения строки на список | str_name.split (разделитель, maxsplit) |
splitlines() | Используется для разделения строки и составления ее списка. Разбивается на разрыв строки. | str_name.splitlines (keeplinebreaks) |
startswith() | Проверяет, начинается ли строка с указанного значения, затем возвращает True | str_name.startswith (значение, начало, конец) |
strip() | Используется для удаления символов, указанных в аргументе, с обоих концов | str_name.strip (символы) |
swapcase() | Используется для замены строки верхнего регистра на нижний регистр или наоборот. | str_name.swapcase() |
title() | Преобразует начальную букву каждого слова в верхний регистр | str_name.title() |
upper() | Он используется для преобразования всех символов в строке в верхний регистр | str_name.upper() |
Расширенные строковые функции Python
encode() | Используется для возврата закодированных строк | str_name.encode (кодировка = кодировка, ошибки = ошибки) |
expandtabs() | Для установки или исправления пробелов табуляции между символами или алфавитами | str_name.expandtabs (размер табуляции) |
format() | Заменяет имя переменной, записанное в {}, значением при выполнении | str_name.format (значение1, значение2 …) |
format_map() | Для форматирования заданной строки и возвращается | str_name.format_map (отображение) |
isidentifier() | Проверяет, являются ли символы буквенно-цифровыми буквами (az) и (0-9) или подчеркиванием (_), и возвращает True | str_name.isidentifier() |
isprintable() | Проверяет, все ли символы доступны для печати, затем возвращает True | str_name.isprintable() |
istitle() | Проверяет, все ли начальные символы слов в верхнем регистре, затем возвращает True | str_name.istitle() |
join() | Принимает слова как повторяемые и объединяет их в строку | str_name.join (повторяемый) |
ljust() | Возвращает выровненную по левому краю строку с минимальным значением, заданным как ширина | str_name.ljust (длина, символ) |
lstrip() | Удаляет символы с левого края на основе данного аргумента | str_name.lstrip (символы) |
maketrans() | Создает сопоставленную таблицу, используемую для переводов. | str_name.maketrans (x, y, z) |
rsplit() | Используется для разделения строки с правого конца | str_name.rsplit (разделитель, maxsplit) |
rfind() | Ищет указанное значение и находит позицию его последнего значения. | str_name.rfind (значение, начало, конец) |
rindex() | Ищет указанное значение и находит позицию его последнего значения. | str_name.rindex (значение, начало, конец) |
rjust() | Возвращает выровненную по правому краю строку с минимальным значением, заданным как ширина | str_name.rjust (длина, символ) |
rpartition() | Ищет последнее вхождение указанной строки и разбивает строку на кортеж из трех элементов. | str_name.rpartition (значение) |
rstrip() | Удаляет символы с правого конца на основе заданного аргумента | str_name.rstrip (символы) |
translate() | Используется для получения переведенной строки | str_name.translate (таблица) |
zfill() | Он возвращает новую строку с символами «0», добавленными слева в строке. | str_name.zfill (len) |
Приоритеты
В списке приведены операторы и выражения, отсортированные по приоритету выполнения от меньшего к большему.
Операторы в Python и их приоритет выполнения:
- Лямбда выражения.
- Python.
- Булевое ИЛИ.
- Булевое И.
- Булевое НЕ.
- Операторы тождественности, принадлежности, операторы присваивания.
- Битовый ИЛИ.
- Битовый НЕ.
- Битовый И.
- Битовый оператор сдвига битов.
- Сложение и вычитание.
- Умножение и деление, включая операцию получения остатка деления и целого числа.
- Битовое НЕ.
- Возведение в степень.
- Обращение к элементу массива по индексу, слайсинг, обращение к объекту класса, вызов функции с аргументами.
Первый пункт в списке — лямбда-выражение. Lambda expression используется для создания анонимных функций. Лямбда ведет себя как обычная функция, и объявляется в виде
Def (arguments):
return expression
После лямбда-выражения следуют операции, выполняемые тернарным оператором Python.
В конце списка располагаются методы манипуляции массивом и функциями. Обращение к элементу массива по индексу выглядит так:
В рассматриваемом случае а — это массив, i — это индекс элемента.
Слайсинг означает передачу полной копии массива или выборочную последовательность из членов списка. Диапазон желаемых значения указывается в . В качестве аргументов x представляется начало отсчета, y — конец, а z — шаг прохождения по элементам массива при каждой итерации. X по умолчанию обозначает начало списка, y — конец, z равняется единице. Если указать z как отрицательное число, значения списка передаются в обратном порядке с конца к началу.
О
ператоры являются конструкциями, которые могут манипулировать значением операндов. Рассмотрим выражение 4 + 5 = 9. Здесь, 4 и 5 называются операндами и + называется оператором.
Настройка оператора % для ваших собственных классов
Конечно, вы можете настроить работу ваших собственных классов, когда к ним применяется оператор . Обычно вы должны использовать его только для реализации операций по модулю! Но это руководство, а не жесткое правило.
Просто чтобы привести простой пример, который показывает, как это работает:
Этот пример не очень полезен, он просто печатает и затем делегирует оператор сохраненному значению, но он показывает, что вызывается, когда применяется к экземпляру:
Обратите внимание, что это также работает для без явной необходимости реализовать :
Однако вы также можете явно реализовать для перезаписи расширенного присваивания:
Теперь явно перезаписан для работы на месте:
Операторы сравнения
В программировании операторы сравнения используются при оценке и сравнении значений для последующего сведения их к одному логическому значению (True или False).
Операторы сравнения Python 3 представлены в этой таблице:
Оператор |
Значение |
== | Проверяет равенство между компонентами; условие истинно, если компоненты равны. |
!= | Проверяет равенство между компонентами; условие истинно, если компоненты НЕ равны. |
Оценивает значение левого компонента; условие истинно, если он меньше, чем правый. | |
> | Оценивает значение левого компонента; условие истинно, если он больше, чем правый. |
Оценивает значение левого компонента; условие истинно, если он меньше или равен правому компоненту. | |
>= | Оценивает значение левого компонента; условие истинно, если он больше или равен правому компоненту. |
Попробуйте поработать с этими операторами, чтобы понять, как они действуют. Для начала создайте пару переменных:
Теперь сравните значения переменных с помощью вышеперечисленных операторов.
x = 5
y = 8
print(«x == y:», x == y)
print(«x != y:», x != y)
print(«x
print(«x > y:», x > y)
print(«x
print(«x >= y:», x >= y)
x == y: False
x != y: True
x
x > y: False
x
x >= y: False
Следуя математической логике, Python оценивает соотношения между значениями переменных так:
- 5 равно 8? Ложь
- 5 не равно 8? Истина
- 5 меньше 8? Истина
- 5 больше 8? Ложь
- 5 меньше или равно 8? Истина
- 5 больше или равно 8? Ложь
Также операторы сравнения можно применять к числам с плавающей точкой и строкам.
Примечание
: Строки чувствительны к регистру; чтобы отключить такое поведение, нужно использовать специальный метод.
Попробуйте сравнить две строки:
Hello = «Hello»
hello = «hello»
Hello == hello: False
Строки Hello и hello содержат одинаковый набор символов, однако они не равны, поскольку одна из них содержит символы верхнего регистра. Попробуйте добавить ещё одну переменную, которая также будет содержать символы верхнего регистра, а затем сравните их.
Hello = «Hello»
hello = «hello»
Hello_there = «Hello»
print(«Hello == hello: «, Hello == hello)
print(«Hello == Hello_there», Hello == Hello_there)
Hello == hello: False
Hello == Hello_there: True
# Сложные логические выражения
Логические выражения типа являются простыми, так как в них выполняется только одна логическая операция. Однако, на практике нередко возникает необходимость в более сложных выражениях. Может понадобиться получить ответ «Да» или «Нет» в зависимости от результата выполнения двух простых выражений. Например, «на улице идет снег или дождь», «переменная больше 12 и меньше 20».
В таких случаях используются специальные операторы, объединяющие два и более простых логических выражения. Широко используются два оператора – так называемые логические И (and) и ИЛИ (or).
Чтобы получить при использовании оператора and, необходимо, чтобы результаты обоих простых выражений, которые связывает данный оператор, были истинными. Если хотя бы в одном случае результатом будет , то и все сложное выражение будет ложным.
Чтобы получить при использовании оператора , необходимо, чтобы результат хотя бы одного простого выражения, входящего в состав сложного, был истинным. В случае оператора сложное выражение становится ложным лишь тогда, когда ложны оба составляющие его простые выражения.
Допустим, переменной x было присвоено значение 8 (x = 8), переменной y присвоили 13 (y = 13). Логическое выражение and будет выполняться следующим образом. Сначала выполнится выражение . Его результатом будет . Затем выполнится выражение . Его результатом будет . Далее выражение сведется к and , что вернет .
123
Если бы мы записали выражение так: and , то оно также вернуло бы False. Однако сравнение не выполнялось бы интерпретатором, так как его незачем выполнять. Ведь первое простое логическое выражение уже вернуло , которая, в случае оператора , превращает все выражение в .
В случае с оператором второе простое выражение проверяется, если первое вернуло , и не проверяется, если уже первое вернуло
Так как для истинности всего выражения достаточно единственного , неважно по какую сторону от оно стоит
1
Операторы:
Самое первое и самое главное что нужно знать, так это операторы, для сравнения и логические.
Python 3 операторы сравнения:
Операторов сравнения в Python 3 не так много, как в других языках программирования, так как нет строгого сравнивания, том уже по умолчанию строгое сравнение, вот они все:
Python
1 2 3 4 5 6 7 8 9 10 |
a=10; b=3; c=a>b# a больше b, c будет равен true c=a<b# a меньше b, c будет равен false c=a>=b# a больше или равно b, c будет равен true c=a<=b# a меньше или равно b, c будет равен false c=a==b# a равно b, c будет равен false c=a!=b# a не равно b, c будет равен true c=a<>b# аналог != |
Как видите тут всё по стандарту, единственное есть ещё оператор который полный аналог оператора (Не равно), в остальном тут всё понятно.
Python 3 логические операторы:
Логические операторы в Python 3 пишутся словами, а не как в других языках программирования:
Python
1 2 3 4 5 6 |
a=True b=False c=aandb# Логическое и, возвращает True, если два значение равно True, c равно False c=aorb# Логическое или, возвращает True, если хотя бы одно значение равно True, c равно True c=nota# Логическое не, просто отзеркаливает значение, c равно False |
Тоже не чего сложного тут нет, всё понятно и просто, я думаю вы поняли, единенное оператор возвращает противоположное значение, то есть если значение логического выражения равно , то используя not на нём, оно будет равен .
Битовые операторы в Python
Побитовые операторы работают над битами и выполняют операции бит за битом. Допустим, если а = 60; и б = 13; В настоящее время в двоичном формате они будут выглядить следующим образом:
—————–
а&б = 0000 1100
а|б = 0011 1101
а^б = 0011 0001
Встроенная функция bin() в Python может быть использована для получения двоичного представления целого числа.
Следующие Битовые операторы поддерживаются языком Python:
Оператор | Описание | Пример |
---|---|---|
& бинарный И | копии оператора бита, в результате, если они существует в обоих операндах | (а & б) (0000 означает 1100) |
| бинарный ИЛИ | копирует бит, если он существует в любом из операндов. | (а | б) = 61 (означает 0011 1101) |
^ бинарный Исключающий или | копирует бит, если он установлен в одном операнде, но не в обоих. | (а ^ б) = 49 (означает 0011 0001) |
~ Бинарным комплемент | Это унарное и имеет эффект бит «листать». | (~ а) = -61 (в форме означает двойной комплемент 1100 0011 из-за подписанного двоичного числа. |
Значение левого операнда перемещается влево на число битов, заданное правым операндом. | а | |
>> Двоичный сдвиг вправо | Значение левого операнда перемещается вправо на число битов, заданное правым операндом. | а >> = 15 (0000 означает 1111) |
Функция ord()
Функция ord() принимает строковый аргумент из одного символа Юникода и возвращает его целочисленное значение кодовой точки Юникода. Делает наоборот .
Принимает один символ Юникода (строка длиной 1) и возвращает целое число, поэтому формат следующий:
i = ord(c)
Чтобы убедиться, что он работает наоборот, чем , давайте протестируем функцию на нескольких примерах.
# Convert ASCII Unicode Character 'A' to 65 y = ord('A') print(type(y), y) alphabet_list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' # Print 65-90 for i in alphabet_list: print(ord(i), end = " , ")
Выход
<class 'int'> 65 65 , 66 , 67 , 68 , 69 , 70 , 71 , 72 , 73 , 74 , 75 , 76 , 77 , 78 , 79 , 80 , 81 , 82 , 83 , 84 , 85 , 86 , 87 , 88 , 89 , 90 ,
Это вызывает если длина входной строки не равна единице.
y = ord('Hi')
Выход
TypeError: ord() expected a character, but string of length 2 found
Операторы присваивания в Python
Предположим, переменная содержит а
значение 10, а переменная б
имеет значение 20, то:
оператор | Описание | пример |
---|---|---|
= | Назначает значения с правой стороной операндов левой стороне операнда | с = а + b присваивает значение a + b в c |
+ = Добавить и | Добавляет правый операнд к левому операнду и присвоить результат левого операнда | с + = а эквивалентно c = c + a |
– = вычесть и | Вычитает правый операнд из левого операнда и присваивает результат левого операнда | с – = а эквивалентно c = c – a |
* = умножить и | Умножает правый операнд на левый операнд и присваивает результат левого операнда | с * = а эквивалентно c = c * a |
/ = разделить и | Делит левый операнд на правый операнд и присваивает результат левого операнда | с / = а эквивалентно c = c / ac /= a эквивалентно с = с / а |
% = Модуль и | Принимает модуль с помощью двух операндов и присваивает результат левого операнда | c% = а эквивалентно c = c % a |
** = Экспонент и | Выполняет вычисление экспоненту от операторов и присваивает значение левого операнда | с ** = а эквивалентно c = c ** a |
// = Floor Division | Выполняет деление операторов с округлением и присваивает значение левого операнда | с // = а эквивалентно c = c // a |
Логические операторы
Говоря на естественном языке (например, русском) мы обозначаем сравнения словами «равно», «больше», «меньше». В языках программирования используются специальные знаки, подобные тем, которые используются в математике: (больше), (меньше), (больше или равно), (меньше или равно), (равно), (не равно).
Не путайте операцию присваивания значения переменной, обозначаемую в языке Python одиночным знаком «равно», и операцию сравнения (два знака «равно»). Присваивание и сравнение – разные операции.
>>> a = 10 >>> b = 5 >>> a + b > 14 True >>> a < 14 - b False >>> a <= b + 5 True >>> a != b True >>> a == b False >>> c = a == b >>> a, b, c (10, 5, False)
В данном примере выражение состоит из двух подвыражений. Сначала происходит сравнение () переменных a и b. После этого результат логической операции присваивается переменной c. Выражение просто выводит значения переменных на экран.
Функция chr()
Принимает целое число и преобразует его в символ , поэтому возвращает строку символов.
Формат:
c = chr(i)
Вот пример, демонстрирующий то же самое:
# Convert integer 65 to ASCII Character ('A') y = chr(65) print(type(y), y) # Print A-Z for i in range(65, 65+25): print(chr(i), end = " , ")
Выход
<class 'str'> A A , B , C , D , E , F , G , H , I , J , K , L , M , N , O , P , Q , R , S , T , U , V , W , X , Y , Z
Допустимый диапазон для аргумента — от 0 до 1,114 111 (0x10FFFF в шестнадцатеричном формате). будет , если целое число i находится за пределами этого диапазона.
Давайте проверим это на некоторых примерах
print(chr(-1))
Это вызовет .
ValueError: chr() arg not in range(0x110000)
start = 0 end = 1114111 try: for i in range(start, end+2): a = chr(i) except ValueError: print("ValueError for i =", i)
Выход
ValueError for i = 1114112
Отрицание логического значения в Python С помощью оператора not
Если вы не знаете о ключевом слове not, позвольте мне объяснить, что ключевое слово not является логическим оператором в Python. Особенность оператора not заключается в том, что он возвращает противоположное значение оператора. Это означает, что возвращаемое значение оператора not будет Истинным, если операторы не являются True; в противном случае он вернет False.
Давайте рассмотрим работу на примере.
Выход:
Приведенный выше пример прямолинейен для отрицания значения или выражения. Как видите, мы присвоили переменной значение True. После этого мы напечатали его, и наш вывод будет True, как и ожидалось. Но в следующей строке мы тоже использовали оператор not внутри функции print. Итак, на этот раз мы получаем вывод как False. Следовательно, мы успешно отрицаем логическое выражение с помощью оператора not в Python.
Где используется Python и почему
В последние 5 лет Питон непрерывно находится в тройке самых популярных языков программирования. У него есть ряд сильных сторон, которые привлекают разработчиков со всего мира.
К типичным областям использования Python относят:
- Веб-разработка (сайты любой сложности и функциональности без проблем создаются при помощи данного языка);
- Работа с базами данных (можно работать как с «встроенной» sqlite3, так и любыми другими – реляционными и нереляционными);
- Графические приложения (реально не просто писать исполняемые скрипты, но и разрабатывать полноценные графические интерфейсы под свои нужды);
- Научные задачи (сложные вычисления, машинное обучение, нейронные сети);
- Сетевое программирование (включает не только взаимодействие с сайтами, но и почтовыми сервисами, JSON-объектами, Интернет-протоколами);
- Бизнес-приложения и игровая индустрия (ERP-системы, непрерывная разработка и тестирование, простые игры).
Озвученный спектр направлений показывает, что Питон имеет определенные преимущества по сравнению с другими языками, раз он пригоден для такого широкого класса задач.
Основные показаны ниже (рис. 1).
Сильные стороны языка Python
Простота подразумевает легкость освоения и высокий уровень абстракции (минимум кода при максимальном эффекте).
Выразительность связана с минимальным количеством кода для достижения результата (некоторые особенности Питона сокращают объем кода чуть ли не до одной строки, если сравнивать с другими языками).
Скрипты на Python’e легко читать: нет лишних символов, нагромождения скобок, дополнительных уточнений.
Полнота демонстрирует масштаб встроенных и сторонних библиотек под специфичные нужды (не нужно с нуля создавать функционал, ведь его уже кто-то реализовал).
Немаловажно и то, что исходный код Python свободно распространяется. Любая редакция языка доступна каждому как для личных, так и коммерческих нужд
Кроссплатформенность в дополнение ко всему гарантирует достижение идентичных результатов что на Windows, Linux, MacOS, так и на мобильных системах.
Отметим, также, ключевые плюсы и минуса Питона (таблица 1).
Плюсы | Минусы |
Легко изучать, писать и читать код | Относительно медленный |
Интерпретируемый (исполняет код на лету) | Не всегда эффективно расходует память |
Динамически типизированный | Ограничен в мобильной разработке |
С открытым исходным кодом | При исполнении могут возникать ошибки, что требует тщательного тестирования |
Имеет широкую поддержку |
Таблица 1 – Сильные и слабые стороны Python’a
Логические операторы
Для сравнения значений используется три логических оператора, которые сводят результат к логическому значению True или False.
Логические операторы обычно используются для оценки двух или больше выражений. Например, их можно использовать в программе, которая проверит:
- сдал ли студент экзамен
-
и
зарегистрирован ли он.
Если оба значения истинны, студент будет переведён на следующий курс.
Другой пример: программа с логическими операторами может проверять активность пользователя в онлайн-магазине:
- использовал ли он кредит магазина
-
или
заказывал ли он товары в течение последних 6 месяцев.
Для примера попробуйте сравнить три выражения:
print((9 > 7) and (2 # Оба выражения истинны (True)
print((8 == 8) or (6 != 6)) # Одно из выражений истинно (True)
print(not(3 # Выражение ложно (False)
True
True
True
В первом случае оба выражения истинны, потому оператор and возвращает True.
Во втором случае истинно только значение 8 == 8. Поскольку хотя бы одно из предложенных условий истинно, оператор or возвращает True. Оператор and в таком случае выдал бы False.
В третьем случае выражение 3
Теперь попробуйте сравнить числа с плавающей точкой.
print((-0.2 > 1.4) and (0.8 # Одно из выражений ложно (False)
print((7.5 == 8.9) or (9.2 != 9.2)) # Оба выражения ложны (False)
print(not(-5.7 # Выражение истинно (True)
- Поскольку в первом примере одно из выражений ложно, and вернёт False. Оператор and оценивает выражение как истинное только тогда, когда оба компонента истинны.
- Поскольку оба выражения ложны, оператор or выдаст False.
- Поскольку выражение истинно, оператор not вернёт False (not True = False).
Примечание
: Если вы не понимаете, как это работает, вам помогут разобраться таблицы истинности. Эту тему мы рассмотрим далее в этом руководстве.
Логические операторы можно объединять в составные выражения:
not((-0.2 > 1.4) and ((0.8
Выражение (0.8
Полученное значение True становится компонентом следующего выражения: (-0.2 > 1.4) and (True). Оператор and выдаст False, потому что выражение -0.2 > 1.4 ложно. (False) and (True) = False.
Условия в Python:
Теперь пришло время рассмотреть условия в языке программирования Python, здесь в отличие от C++ есть только одно, или , то есть switch нету. поэтому только это рассмотрим.
Для начала рассмотрим просто if, вот пример его использования:
Python
1 2 3 4 5 6 |
a=10 b=1 # Если a больше b ifa>b # Выводим надпись «a больше b» print(«a больше b») |
Этот код выводит «a больше b», если это верно, так как это всё таки верно, исходя из объявления переменных, то надпись появиться в терминале.
Если вам надо отработать ложное значение, если a меньше или равно , то добавьте , примерно так:
Python
1 2 3 4 5 6 7 |
# Если a больше b ifa>b # Выводим это в терминал print(«a больше b») else# Иначе # Выводим в терминал a меньше или равно b print(«a меньше или равно b») |
Теперь если перовое условии вернёт , то сработает код после , и выводиться надпись «a меньше или равно b».
Также вы можете более точно выводить результат в консоль, с помощью , вот пример с ним:
Python
1 2 3 4 5 6 7 8 9 10 |
# Если a больше b ifa>b # Выводим это в терминал print(«a больше b») elifa<b# если a меньше b # Выводим это в терминал print(«a меньше b») else# Иначе # Выводим в терминал a равно b print(«a равно b») |
Тут тоже всё просто, если первое условие вернуло , то проверяется второе, если оно верно то делается какое то действие внутри, если нет, то делается действие в .
Также скажу, что таких может быть сколько угодно, а не только одно, как было в примере выше.
Тернарная операция Python:
Последние что нужно разобрать про условия, это аналог тернарных операций в языке Python, там это реализовано через , вот не большой пример:
Python
1 2 3 |
a=10 b=1 print(«a больше b»)ifa>belseprint(«a меньше или равно b») |
Как видите тут не всё так просто на первый взгляд, в начале, перед мы делаем действие если условие вернёт , после у нас само условии, а поcлсе у нас действии если условие вернёт .
Для лучшего понимания, вот вам шаблон, как всё строится:
Python
1 | «Если условии True»ifУсловиеelse»Если условии False» |
Также вы можете присвоить результат переменной, делается это так:
Python
1 2 |
res=»a больше b»ifa>belse»a меньше или равно b» print(res) |
В целом с условиями это всё.
Вывод
В заключение я могу сказать, что я попытался смешать все шесть способов отрицания логического значения в Python. Лучший способ отрицания зависит от требований пользователя или программы. Если вы используете модуль Numpy, то у вас есть четыре способа. И если вы не хотите использовать numpy, вы все равно можете использовать два доступных метода. В будущем, если я найду больше способов, я обновлю эту статью как можно скорее.
Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.
Счастливого Пифонирования!