Что такое условия в Python?
Условия в Python — это фундаментальный инструмент программирования, который позволяет выполнять различные действия в зависимости от выполнения или невыполнения определенных условий. Основной конструкцией для проверки условий является оператор if, также используются elif и else для создания более сложных условных конструкций.
Основные конструкции условий
Оператор if
Оператор if является базовой конструкцией для проверки условий. Если логическое выражение истинно (True), выполняется блок кода, связанный с этим условием.
x = 10
if x > 5:
print("x больше 5")
Оператор if...else
Конструкция if...else позволяет определить альтернативный блок кода, который выполняется, если условие в блоке if ложно (False).
x = 3
if x > 5:
print("x больше 5")
else:
print("x не больше 5")
Оператор if...elif...else
Конструкция if...elif...else позволяет проверять несколько условий последовательно. Как только одно из условий становится истинным, выполняется соответствующий блок кода, и остальные проверки пропускаются.
x = 3
if x > 5:
print("x больше 5")
elif x == 5:
print("x равен 5")
else:
print("x меньше 5")
Вложенные условия
Можно использовать условные операторы внутри других условных операторов для проверки более сложных условий. Это позволяет создавать многоуровневую логику принятия решений.
x = 8
if x > 5:
if x < 10:
print("x больше 5 и меньше 10")
else:
print("x больше или равно 10")
else:
print("x меньше или равно 5")
Операторы сравнения в Python
Операторы сравнения используются для сравнения двух значений. Результатом сравнения является логическое значение True или False.
Оператор == (равно)
Возвращает True, если значения двух операндов равны.
x = 5
y = 5
print(x == y) # Выведет: True
Оператор != (не равно)
Возвращает True, если значения не равны.
x = 5
y = 10
print(x != y) # Выведет: True
Оператор > (больше чем)
Возвращает True, если значение левого операнда больше значения правого операнда.
x = 10
y = 5
print(x > y) # Выведет: True
Оператор < (меньше чем)
Возвращает True, если значение левого операнда меньше значения правого операнда.
x = 5
y = 10
print(x < y) # Выведет: True
Оператор >= (больше или равно)
Возвращает True, если значение левого операнда больше или равно значению правого операнда.
x = 10
y = 10
print(x >= y) # Выведет: True
Оператор <= (меньше или равно)
Возвращает True, если значение левого операнда меньше или равно значению правого операнда.
x = 5
y = 10
print(x <= y) # Выведет: True
Логические операторы
Для объединения нескольких условий используются логические операторы and, or и not.
Оператор and
Возвращает True, если оба условия истинны.
x = 7
if x > 5 and x < 10:
print("x больше 5 и меньше 10")
Оператор or
Возвращает True, если хотя бы одно из условий истинно.
x = 3
if x < 5 or x > 10:
print("x меньше 5 или больше 10")
Оператор not
Возвращает True, если условие ложно.
x = 5
if not x == 10:
print("x не равно 10")
Условные выражения (тернарный оператор)
Python поддерживает тернарный оператор для выполнения простых условий в одной строке. Это компактный способ записи условий.
x = 5
result = "x больше 10" if x > 10 else "x не больше 10"
print(result)
Практические примеры использования условий
Определение четного или нечетного числа
num = 4
if num % 2 == 0:
print(f"{num} - четное число")
else:
print(f"{num} - нечетное число")
Определение положительного, отрицательного или нуля
num = -5
if num > 0:
print(f"{num} - положительное число")
elif num < 0:
print(f"{num} - отрицательное число")
else:
print(f"{num} - это ноль")
Проверка возраста
age = 25
if age >= 18 and age < 65:
print("Человек трудоспособного возраста")
else:
print("Человек нетрудоспособного возраста или пенсионер")
Проверка температуры
temperature = 20
status = "тепло" if temperature > 15 else "холодно"
print(status)
Сокращенные логические операторы
Когда у вас есть простые условия, можно объединять их в одну строку для сокращения количества кода.
x = 5
y = 10
# Вместо вложенных условий
if x == 5:
if y == 10:
print("x равно 5 и y равно 10")
# Можно использовать логический оператор
if x == 5 and y == 10:
print("x равно 5 и y равно 10")
# Можно сократить до одной строки
if x == 5 and y == 10: print("x равно 5 и y равно 10")
Особенности работы с условиями
Приоритет операторов
В Python существует определенный порядок выполнения операторов. Сначала выполняются операторы сравнения, затем логические операторы not, and, or.
Короткое замыкание
Python использует механизм короткого замыкания для логических операторов. Это означает, что если результат выражения можно определить по первому операнду, второй операнд не вычисляется.
x = 0
if x != 0 and 10 / x > 5: # Второе условие не выполнится
print("Условие выполнено")
Проверка принадлежности
Python предоставляет удобные операторы in и not in для проверки принадлежности элемента к последовательности.
fruits = ["яблоко", "банан", "апельсин"]
if "яблоко" in fruits:
print("Яблоко есть в списке")
Вот таблица с операторами Python:
Операторы сравнения
| Оператор | Название | Описание | Пример |
|---|---|---|---|
== |
Равно | Проверяет равенство значений | 5 == 5 → True |
!= |
Не равно | Проверяет неравенство значений | 5 != 3 → True |
< |
Меньше | Проверяет, меньше ли левое значение | 3 < 5 → True |
> |
Больше | Проверяет, больше ли левое значение | 5 > 3 → True |
<= |
Меньше или равно | Проверяет, меньше или равно левое значение | 3 <= 5 → True |
>= |
Больше или равно | Проверяет, больше или равно левое значение | 5 >= 5 → True |
Логические операторы
| Оператор | Название | Описание | Пример |
|---|---|---|---|
and |
И (логическое И) | Возвращает True, если оба условия истинны | True and False → False |
or |
ИЛИ (логическое ИЛИ) | Возвращает True, если хотя бы одно условие истинно | True or False → True |
not |
НЕ (логическое НЕ) | Инвертирует логическое значение | not True → False |
Операторы принадлежности
| Оператор | Название | Описание | Пример |
|---|---|---|---|
in |
Принадлежность | Проверяет, содержится ли элемент в последовательности | 'a' in 'apple' → True |
not in |
Отсутствие принадлежности | Проверяет, не содержится ли элемент в последовательности | 'z' not in 'apple' → True |
Операторы тождественности
| Оператор | Название | Описание | Пример |
|---|---|---|---|
is |
Тождественность | Проверяет, являются ли объекты одним и тем же объектом | a is b |
is not |
Не тождественность | Проверяет, не являются ли объекты одним и тем же объектом | a is not b |
Арифметические операторы
| Оператор | Название | Описание | Пример |
|---|---|---|---|
+ |
Сложение | Складывает два числа | 5 + 3 → 8 |
- |
Вычитание | Вычитает второе число из первого | 5 - 3 → 2 |
* |
Умножение | Умножает два числа | 5 * 3 → 15 |
/ |
Деление | Делит первое число на второе (результат float) | 6 / 2 → 3.0 |
// |
Целочисленное деление | Делит и возвращает целую часть | 7 // 2 → 3 |
% |
Остаток от деления | Возвращает остаток от деления | 7 % 2 → 1 |
** |
Возведение в степень | Возводит число в степень | 2 ** 3 → 8 |
Операторы присваивания
| Оператор | Название | Описание | Пример |
|---|---|---|---|
= |
Присваивание | Присваивает значение переменной | x = 5 |
+= |
Сложение с присваиванием | x += 3 равно x = x + 3 |
x += 3 |
-= |
Вычитание с присваиванием | x -= 3 равно x = x - 3 |
x -= 3 |
*= |
Умножение с присваиванием | x *= 3 равно x = x * 3 |
x *= 3 |
/= |
Деление с присваиванием | x /= 3 равно x = x / 3 |
x /= 3 |
//= |
Целочисленное деление с присваиванием | x //= 3 равно x = x // 3 |
x //= 3 |
%= |
Остаток с присваиванием | x %= 3 равно x = x % 3 |
x %= 3 |
**= |
Степень с присваиванием | x **= 3 равно x = x ** 3 |
x **= 3 |