Подробнее о переменных
Перед началом этого раздела заполните этот опросник. За ответ вы получите один балл за упражнение.
Переменные нужны в программировании для разных целей. Вы можете использовать переменные, чтобы хранить любую информацию, которая понадобится позже во время выполнения программы.
В программировании на Python переменные создаются так:
variable_name = ...
Здесь ... означает значение, сохраненное в переменной.
Напр имер, когда вы использовали команду input, чтобы считать строку от пользователя, вы сохраняли эту строку в переменной, а затем использовали переменную позже в программе:
name = input("What is your name? ")
print("Hi, " + name)What is your name? Ghosty Hi, Ghosty
Значение, сохраненное в переменной, также можно определить с помощью других переменных:
given_name = "Paul"
family_name = "Python"
name = given_name + " " + family_name
print(name)Paul Python
Здесь значения, сохраненные в трех переменных, не получены из пользовательского ввода. Они остаются одинаковыми при каждом запуске программы. Это называется жестко заданными данными в программе.
Изменение значения переменной
Как следует из названия переменная, значение, сохраненное в переменной, может изменяться. В предыдущем разделе мы заметили, что новое значение заменяет старое.
Во время выполнения следующей программы переменная word будет иметь три разных значения:
word = input("Please type in a word: ")
print(word)
word = input("And another word: ")
print(word)
word = "third"
print(word)Please type in a word: first first And another word: second second third
Значение, сохраненное в переменной, изменяется каждый раз, когда переменной присваивается новое значение.
Новое значение переменной может быть получено из ее старого значения. В следующем примере переменной word сначала присваивается значение на основе ввода пользователя. Затем ей присваивается новое значение: старое значение с тремя восклицательными знаками в конце.
word = input("Please type in a word: ")
print(word)
word = word + "!!!"
print(word)Please type in a word: test test test!!!
Целые числа
До сих пор мы сохраняли в переменных только строки, но есть много других типов информации, которые мы захотим хранить и использовать позже. Сначала посмотрим на целые числа. Целые числа — это числа без десятичной или дробной части, например -15, 0 и 1.
Следующая программа создает переменную age, которая содержит целочисленное значение.
age = 24
print(age)Программа выводит только это:
24
Обратите внимание, что здесь нет кавычек. На самом деле, если бы мы добавили кавычки вокруг числа, это означало бы, что переменная больше не целое число, а строка. Строка может содержать числа, но обрабатывается иначе.
Почему тогда важно, что у переменных есть тип, если следующая программа все равно выводит одно и то же дважды?
number1 = 100
number2 = "100"
print(number1)
print(number2)100 100
Типы переменных важны, потому что разные операции воздействуют на разные типы переменных по-разному. Посмотрим на пример:
number1 = 100
number2 = "100"
print(number1 + number1)
print(number2 + number2)Это выводит следующее:
200 100100
Для целочисленных значений оператор + означает сложение, а для строковых значений — конкатенацию, то есть "склеивание" строк.
Не все операторы доступны для всех типов переменных. Хотя числа можно делить с помощью оператора деления /, попытка разделить строку на число вызывает ошибку:
number = "100"
print(number / 2)Объединение значений при выводе
Точно так же следующая программа не будет работать, потому что "The result is " и result имеют разные типы:
result = 10 * 25
# the following line produces an error
print("The result is " + result)Программа ничего не выводит, а вместо этого вызывает ошибку:
TypeError: unsupported operand type(s) for +: 'str' and 'int'
Здесь Python сообщает, что объединить два значения разных типов просто так не получится. В этом случае "The result is " имеет тип "строка", а значение, сохраненное в result, имеет тип "целое число".
Если мы действительно хотим вывести строку и целое число одной командой, целое число можно привести к строке с помощью функции str, а затем две строки можно объединить обычным способом. Например, это будет работать:
result = 10 * 25
print("The result is " + str(result))The result is 250
У команды print также есть встроенные возможности, которые поддерживают объединение значений разных типов. Самый простой способ - поставить между значениями запятую. Все значения будут выведены независимо от их типа:
result = 10 * 25
print("The result is", result)The result is 250
Обратите внимание, что между значениями, разделе нными запятой, здесь автоматически добавляется пробел.
Вывод с f-строками
А что, если нам нужна большая гибкость и больший контроль над тем, что мы выводим? Так называемые f-строки - это еще один способ форматирования вывода в Python. Синтаксис сначала может выглядеть немного запутанным, но в итоге f-строки часто оказываются самым простым способом форматировать текст.
С f-строками предыдущий пример выглядел бы так:
result = 10 * 25
print(f"The result is {result}")Разберем это. В самом начале строки, которую мы выводим, находится символ f. Он сообщает Python, что дальше идет f-строка. Внутри строки, в фигурных скобках, находится имя переменной result. Значение, которое она содержит, становится частью выводимой строки. Вывод точно такой же, как в предыдущих примерах:
The result is 250
Одна f-строка может содержать несколько переменных. Например, этот код
name = "Mark"
age = 37
city = "Palo Alto"
print(f"Hi {name}, you are {age} years old. You live in {city}.")выводит это:
Hi Mark, you are 37 years old. You live in Palo Alto.
Создать точно такой же вывод с помощью записи через запятые в команде print трудно. Например, эта программа
name = "Mark"
age = 37
city = "Palo Alto"
print("Hi", name, ", you are", age, "years old. You live in", city, ".")выводит следующее:
Hi Mark , you are 37 years old. You live in Palo Alto .
Обратите внимание на автоматически вставлен ные пробелы между всеми частями вывода, разделенными запятыми. Технически можно запретить print добавлять лишние пробелы, но это не стоит усилий, потому что вместо этого можно использовать f-строки.
Простая запись через запятые в команде print часто бывает полезна, но иногда создает больше проблем, чем пользы. F-строки обычно являются более надежным вариантом. В части 4 вы узнаете больше об удобных возможностях f-строк для форматирования вывода.
Числа с плавающей точкой
Floating point number, или float, - термин, который часто встречается в программировании. Он означает числа с десятичной точкой. Их можно использовать почти так же, как целочисленные значения.
Эта программа вычисляет среднее трех чисел с плавающей точкой:
number1 = 2.5
number2 = -1.25
number3 = 3.62
mean = (number1 + number2 + number3) / 3
print(f"Mean: {mean}")Mean: 1.6233333333333333
Текущие баллы можно посмот реть в синем индикаторе в правом нижнем углу страницы.