В следующей программе целое число 7 присваивается переменной с именем a, затем на экран выводится значение, связанное в текущий момент с этой переменной:
>>> a = 7
>>> print(a)
7
Сейчас пришло время сделать очень важное заявление о переменных в Python: переменные — это просто имена. Присваивание не копирует значение, оно прикрепляет имя к объекту, который содержит данные. Имя — это ссылка на какой-то объект, а не сам объект. Имя можно рассматривать как стикер (рис. 2.3).
Рис. 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)
<class 'int'>
>>> type(b)
<class 'int'>
>>> type(58)
<class 'int'>
>>> type(99.9)
<class 'float'>
>>> type('abc')
<class 'str'>
Класс — это определение объекта; классы детально рассматриваются в главе 6. В Python значения терминов «класс» и «тип» примерно одинаковы.
Имена переменных могут содержать только следующие символы:
• буквы в нижнем регистре (от «a» до «z»);
• буквы в верхнем регистре (от «A» до «Z»);
• цифры (от 0 до 9);
• нижнее подчеркивание (_).
Имена не могут начинаться с цифры. Python также особо обрабатывает имена, которые начинаются с нижнего подчеркивания (об этом вы можете прочесть в главе 4). Корректными являются следующие имена:
• a;
• a1;
• a_b_c___95;
• _abc;
• _1a.
Следующие имена, однако, некорректны:
• 1;
• 1a;
• 1_.
Наконец, не следует использовать следующие слова для имен переменных, поскольку они являются зарезервированными словами Python:
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 |