Сейчас пришло время сделать очень важное заявление о переменных в Python: переменные — это просто имена. Присваивание не копирует значение, оно прикрепляет имя к объекту, который содержит данные. Имя — это
Рис. 2.3. Имена прикрепляются к объектам
Попробуйте сделать следующее с помощью интерактивного интерпретатора.
1. Как и раньше, присвойте значение 7 имени a. Это создаст объект-«ящик», содержащий целочисленное значение 7.
2. Выведите на экран значение а.
3. Присвойте а переменной b, заставив b прикрепиться к объекту-«ящику», содержащему значение 7.
4. Выведите значение b.
>>> a = 7
>>> print(a)
7
>>> b = a
>>> print(b)
7
В Python, если вы хотите узнать тип какого-то объекта (переменной или значения), вам следует использовать конструкцию type(объект). Попробуем сделать это для разных значений (58, 99.9, abc) и переменных (a, b):
>>> type(a)
>>> type(b)
>>> type(58)
>>> type(99.9)
>>> type('abc')
Имена переменных могут содержать только следующие символы:
• буквы в нижнем регистре (от «a» до «z»);
• буквы в верхнем регистре (от «A» до «Z»);
• цифры (от 0 до 9);
• нижнее подчеркивание (_).
Имена не могут начинаться с цифры. Python также особо обрабатывает имена, которые начинаются с нижнего подчеркивания (об этом вы можете прочесть в главе 4). Корректными являются следующие имена:
• a;
• a1;
• a_b_c___95;
• _abc;
• _1a.
Следующие имена, однако, некорректны:
• 1;
• 1a;
• 1_.
Наконец, не следует использовать следующие слова для имен переменных, поскольку они являются
false | class | finally | is | return |
none | continue | for | lambda | try |
true | def | from | nonlocal | while |
and | del | global | not | with |
as | elif | if | or | yield |
assert | else | import | pass | |
break | except | in | raise |
Эти слова и некоторые знаки препинания используются в синтаксисе Python. Вы познакомитесь с ними всеми по мере чтения этой книги.
Числа
Python имеет встроенную поддержку целых чисел (наподобие 5 и 1 000 000 000) и чисел с плавающей точкой (вроде 3,1416, 14,99 и 1,87е4). Вы можете вычислять комбинации чисел с помощью простых математических операторов, приведенных в таблице.
Оператор | Описание | Пример | Результат |
---|---|---|---|
+ | Сложение | 5 + 8 | 13 |
– | Вычитание | 90–10 | 80 |
* | Умножение | 4 * 7 | 28 |
/ | Деление с плавающей точкой | 7/2 | 3,5 |
// | Целочисленное (Truncating) деление | 7//2 | 3 |
% | Modulus (вычисление остатка) | 7%3 | 1 |
** | Возведение в степень | 34 | 81 |
На нескольких следующих страницах я покажу вам простые примеры того, как Python можно использовать в качестве очень сложного калькулятора.
Целые числа
Любая последовательность цифр в Python считается
>>> 5
5
Можно использовать и простой ноль (0):
>>> 0
0
Но не ставьте его перед другими цифрами:
>>> 05
··File "
····05
·····^
SyntaxError: invalid token
Только что вы увидели первое исключение в Python — программную ошибку. В нашем случае это предупреждение о том, что значение 05 — это invalid token (некорректный символ). Я объясню, что это значит, в подразделе «Системы счисления» далее. В этой книге вы увидите еще много примеров исключений, поскольку они являются основным механизмом обработки ошибок в Python.
Последовательность цифр указывает на целое число. Если вы поместите знак + перед цифрами, число останется прежним:
>>> 123
123
>>> +123
123
Чтобы указать на отрицательное число, вставьте перед цифрами знак —:
>>> -123
-123
С помощью Python вы можете выполнять обычные арифметические действия, как и с обычным калькулятором, используя операторы, показанные в предыдущей таблице. Сложение и вычитание будут работать, полностью соответствуя вашим ожиданиям:
>>> 5 + 9
14
>>> 100–7
93
>>> 4–10
-6
Вы можете работать с любым количеством чисел и операторов:
>>> 5 + 9 + 3
17
>>> 4 + 3–2 — 1 + 6
10
Замечание по стилю: не обязательно вставлять пробел между каждым числом и оператором:
>>> 5+9···+······3
17