score = 78
if score >= 90:
grade = 'A'
elif score >= 70:
grade = 'B'
else:
grade = 'C'
# grade == 'B'
Ветки проверяются сверху вниз, выполняется первая истинная — остальные пропускаются. Веток elif может быть сколько угодно, else не обязателен.
age = 25
has_pass = False
age >= 18 and has_pass # False
age >= 18 or has_pass # True
not has_pass # True
0 <= age <= 120 # True
and требует оба условия, or — хотя бы одно, not переворачивает значение. Двойное сравнение 0 <= age <= 120 работает без and — питоновская фишка.
cart = ['coffee', 'tea']
'tea' in cart # True
'juice' not in cart # True
'od' in 'koddo' # True
5 in {1: 'a', 5: 'b'} # True, checks keys
in работает со списками, строками, множествами и словарями. У словаря проверяются ключи, а не значения — для значений есть in dict.values().
qty = 7
label = 'many' if qty >= 5 else 'few' # 'many'
discount = 0.1 if qty >= 10 else 0 # 0
Однострочный if для выбора значения: сначала результат, потом условие. Для действий и нескольких веток бери обычный if — читается лучше.