Главная » Статьи » Python

Типы данных. Часть 1

Тип int и long

Два типа: int (целые числа) и long (целые произвольной точности) служат моделью для представления целых чисел. Первый соответствует типу long в компиляторе C для используемой архитектуры. Числовые литералы можно записать в системах счисления с основанием 8, 10 или 16:

  1. # В этих литералах записано число 10
  2. print 10, 012, 0xA, 10L

Набор операций над числами - достаточно стандартный как по семантике, так и по обозначениям:

  1. >>> print 1 + 1, 3 - 2, 2*2, 7/4, 5%3
  2. 2 1 4 1 2
  3. >>> print 3 < 4 < 6, 3 >= 5, 4 == 4, 4 != 4 # сравнения
  4. True False True False
  5. >>> print 1 << 8, 4 >> 2, ~4 # побитовые сдвиги и инверсия
  6. 256 1 -5
  7. >>> for i, j in (0, 0), (0, 1), (1, 0), (1, 1):
  8.            ... print i, j, ":", i & j, i | j, i ^ j # побитовые операции
  9.            ...
  10.            0 0 : 0 0 0
  11.            0 1 : 0 1 1
  12.            1 0 : 0 1 1
  13.            1 1 : 1 1 0

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

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

  1. >>> type(-2147483648)
  2. type 'int'
  3. >>> type(-2147483649)
  4. type 'long'

Тип float

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

>>> pi = 3.1415926535897931

>>> pi ** 40

7.6912142205156999e+19

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

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

Тип complex

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

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

Тип bool

Подтип целочисленного типа для "канонического" обозначения логических величин. Два значения: True (истина) и False (ложь) - вот и все, что принадлежит этому типу.

Как уже говорилось, любой объект Python имеет истинностное значение, логические операции можно проиллюстрировать с помощью логического типа:

  1. >>> for i in (False, True):
  2. ... for j in (False, True):
  3. ... print i, j, ":", i and j, i or j, not i
  4. ...
  5. ...
  6. False False : False False True
  7. False True : False True True
  8. True False : False True False
  9. True True : True True False
Следует отметить, что Python даже не вычисляет второй операнд операции and или or, если ее исход ясен по первому операнду. Таким образом, если первый операнд истиннен, он и возвращается как результат or, в противном случае возвращается второй операнд. Для операции and все аналогично.
Категория: Python | Добавил: Шаке (03.03.2012)
Просмотров: 824 | Комментарии: 1 | Теги: Double, Float, bool, Int, Complex, Long
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
/>meta http-equiv=