Язык программирования Python (Сузи) - страница 8

>256 1–5

>>>> for i, j in (0, 0), (0, 1), (1, 0), (1, 1):

>... print i, j, ":", i & j, i | j, i ^ j # побитовые операции

>...

>0 0 : 0 0 0

>0 1 : 0 1 1

>1 0 : 0 1 1

>1 1 : 1 1 0

Значения типа >int должны покрывать диапазон от–2147483648 до 2147483647, а точность целых произвольной точности зависит от объема доступной памяти.

Стоит заметить, что если в результате операции получается значение, выходящее за рамки допустимого, тип >int может быть неявно преобразован в >long:

>>>> type(-2147483648)

>

>>>> type(-2147483649)

>

Также нужно быть осторожным при записи констант. Нули в начале числа — признак восьмеричной системы счисления, в которой нет цифры 8:

>>>> 008

> File "", line 1

> 008

>   ^

>SyntaxError: invalid token

Тип float

Соответствует C–типу >double для используемой архитектуры. Записывается вполне традиционным способом либо через точку, либо в нотации с экспонентой:

>>>> pi = 3.1415926535897931

>>>> pi ** 40

>7.6912142205156999e+19

Кроме арифметических операций, можно использовать операции из модуля >math.

Примечание:

Для финансовых расчетов лучше применять более подходящий тип. 

Из полезных встроенных функций можно вспомнить >round(), >abs().

Тип complex

Литерал мнимой части задается добавлением >j в качестве суффикса (перемножаются мнимые единицы):

>>>> -1j * -1j

>(-1–0j)

Тип реализован на базе вещественного. Кроме арифметических операций, можно использовать операции из модуля >cmath.

Тип bool

Подтип целочисленного типа для «канонического» обозначения логических величин. Два значения: >True (истина) и >False (ложь) — вот и все, что принадлежит этому типу. Как уже говорилось, любой объект Python имеет истинностное значение, логические операции можно проиллюстрировать с помощью логического типа:

>>>> for i in (False, True):

>...  for j in (False, True):

>...   print i, j, ":", i and j, i or j, not i

>...

>...

>False False : False False True

>False True : False True True

>True False : False True False

>True True : True True False

Следует отметить, что Python даже не вычисляет второй операнд операции >and или >or, если ее исход ясен по первому операнду. Таким образом, если первый операнд истинен, он и возвращается как результат >or, в противном случае возвращается второй операнд. Для операции >and все аналогично.

Тип string и тип unicode

В Python строки бывают двух типов: обычные и Unicode–строки. Фактически строка — это последовательность символов (в случае обычных строк можно сказать «последовательность байтов»). Строки–константы можно задать в программе с помощью строковых литералов. Для литералов наравне используются как апострофы (