После запуска примера мы видим, что он печатает 57
. Но мы учили в школе, что 5 + 7
= 12
. Итак, программа неверна, и важно понять, почему. Дело в том, что в третьей строке s = a + b
Python «суммировал» две строки, а не два числа. Сумма двух строк в Python работает следующим образом: они просто склеены один за другим. Это иногда называют «конкатенацией строк».
Вы видите в инспекторе переменных с правой стороны, что значения, связанные с переменными a
и b
, заключены в кавычки? Это означает, что в значениях есть строка, а не числа. Строки и числа представлены в Python по-разному.
Все значения в Python называются «объектами». Каждый объект имеет определенный тип. Число 2 соответствует объекту «число 2» типа «int» (т. е. целочисленному числу). Строка 'hello'
соответствует объекту «string». "hello'' – типа «str». Каждое число с плавающей запятой представляется как объект типа «float». Тип объекта указывает, какие операции могут быть применены к нему. Например, если две переменные "first"
и "second"
указывают на объекты типа int
, Python может их умножать. Однако, если они указывают на объекты типа str
, Python не может этого сделать: