Условия
Содержание
В каждом компьютерном языке есть хотя бы один условный оператор. Чаще всего этот оператор представляет собой структуру if/elif/else.
В Python 3.10 добавилась структура match/case
Оператор if
Позволяет выполнить блок кода, если определенное условие истинно
x = 5
if x > 0:
print("x is positive")
elif x < 0:
print("x is negative")
else:
print("x is zero")
match/case
def get_day_name(day):
match day:
case 1:
return "Monday"
case 2:
return "Tuesday"
case 3:
return "Wednesday"
case 4:
return "Thursday"
case 5:
return "Friday"
case 6:
return "Saturday"
case 7:
return "Sunday"
case _:
return "Invalid day"
match command.split():
case ["quit"]:
print("Goodbye!")
quit_game()
case ["look"]:
current_room.describe()
case ["get", obj]:
character.get(obj, current_room)
case ["go", direction]:
current_room = current_room.neighbor(direction)
or/and/not
or
означает, что если любое условие, которое “перечислено” вместе, равно True, то выполняется следующее утверждениеand
означает, что для выполнения следующего утверждения все утверждения должны быть Truenot
означает, что если условие оценивается как False, то оно является True. На мой взгляд, это самый запутанный вариант.
x = 5
y = 10
if x > 0 and y > 0:
print("Both x and y are positive")
if x > 0 or y > 0:
print("At least one of x and y is positive")
if not x < 0:
print("x is not negative")
my_list = [1, 2, 3, 4]
x = 10
if x not in my_list:
print("'x' is not in the list, so this is True!")
Проверка на ничто (None)
В Python None
используется, чтобы обозначить отсутствие значения. Это можно использовать в условных операторах, чтобы проверить, имеет ли переменная значение None
.
Например, если мы хотим проверить, имеет ли переменная x
значение None
, мы можем написать:
if x is None:
print("x is None")
Мы также можем использовать оператор is not
для проверки, имеет ли переменная значение, отличное от None
:
if x is not None:
print("x is not None")
Здесь мы используем условный оператор if, чтобы проверить, имеет ли переменная x значение None. Если это так, мы выводим сообщение “x is None”. Если переменная x имеет какое-то другое значение, мы ничего не выводим.
Это может быть полезно, если мы не знаем, какое значение будет иметь переменная, или если переменная может быть пустой.
if name == “main”
Оператор if name == “main” используется для определения, запущен ли файл напрямую или импортирован как модуль. Если файл запущен напрямую, блок кода внутри этого условия будет выполнен, если же файл импортирован как модуль, этот блок кода не будет выполнен:
if __name__ == "__main__":
# код, который будет выполнен только при запуске файла напрямую
Располагается в конце файла. Это говорит Python, что вы хотите выполнить следующий код, только если эта программа будет выполнена как отдельный файл.