Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!
Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount
Условия
Python использует логические выражения для оценки условий. Булевые значения True и False возвращаются, когда выражение сравнивается или оценивается. Например:
x = 2
print(x == 2) # выводит True
print(x == 3) # выводит False
print(x < 3) # выводит True
Обратите внимание, что присвоение значения переменной осуществляется с помощью оператора равенства "=", тогда как сравнение между двумя переменными выполняется с помощью двойного оператора равенства "==". Оператор "не равно" обозначается как "!=".
Boolean operators
Булевы операторы "and" и "or" позволяют создавать сложные логические выражения, например:
name = "John"
age = 23
if name == "John" and age == 23:
print("Ваше имя John, и вам также 23 года.")
if name == "John" or name == "Rick":
print("Ваше имя либо John, либо Rick.")
The "in" operator
Оператор "in" может использоваться для проверки, существует ли указанный объект в контейнере итерируемых объектов, таких как список:
name = "John"
if name in ["John", "Rick"]:
print("Ваше имя либо John, либо Rick.")
Python использует отступы для определения блоков кода, вместо фигурных скобок. Стандартный отступ в Python составляет 4 пробела, хотя табуляция и любой другой размер пробела тоже будет работать, если он используется последовательно. Обратите внимание, что блоки кода не нуждаются в какой-либо завершающей конструкции.
Вот пример использования конструкции "if" с блоками кода в Python:
statement = False
another_statement = True
if statement is True:
# выполнить что-то
pass
elif another_statement is True: # иначе если
# выполнить что-то другое
pass
else:
# выполнить ещё что-то
pass
Например:
x = 2
if x == 2:
print("x равен двум!")
else:
print("x не равен двум.")
Утверждение оценивается как истинное, если одно из следующих утверждений верно: 1. Булева переменная "True" задана или вычислена с помощью выражения, такого как арифметическое сравнение. 2. Передан объект, который не считается "пустым".
Вот несколько примеров объектов, которые считаются пустыми: 1. Пустая строка: "" 2. Пустой список: [] 3. Число ноль: 0 4. Булева переменная false: False
The 'is' operator
В отличие от оператора двойного равенства "==", оператор "is" не сравнивает значения переменных, а сами их экземпляры. Например:
x = [1,2,3]
y = [1,2,3]
print(x == y) # Выводит True
print(x is y) # Выводит False
The "not" operator
Использование "not" перед логическим выражением инвертирует его:
print(not False) # Выводит True
print((not False) == (False)) # Выводит False
Exercise
Измените переменные в первой секции, чтобы каждое условие if выполнялось как True.
# change this code
number = 10
second_number = 10
first_array = []
second_array = [1,2,3]
if number > 15:
print("1")
if first_array:
print("2")
if len(second_array) == 2:
print("3")
if len(first_array) + len(second_array) == 5:
print("4")
if first_array and first_array[0] == 1:
print("5")
if not second_number:
print("6")
# change this code
number = 16
second_number = 0
first_array = [1,2,3]
second_array = [1,2]
if number > 15:
print("1")
if first_array:
print("2")
if len(second_array) == 2:
print("3")
if len(first_array) + len(second_array) == 5:
print("4")
if first_array and first_array[0] == 1:
print("5")
if not second_number:
print("6")
test_output_contains("1", no_output_msg= "Did you print out 1 if `number` is greater than 15?")
test_output_contains("2", no_output_msg= "Did you print out 2 if there exists a list `first_array`?")
test_output_contains("3", no_output_msg= "Did you print out 3 if the length of `second_array` is 2?")
test_output_contains("4", no_output_msg= "Did you print out 4 if len(first_array) + len(second_array) == 5?")
test_output_contains("5", no_output_msg= "Did you print out 5 if first_array and first_array[0] == 1?")
test_output_contains("6", no_output_msg= "Did you print out 6 if not second_number?")
success_msg("Great Work!")
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!