Шаг 31.
Основы языка Python.
Числа (общие сведения)

    На этом шаге мы приведем общие сведения о числах и правилах их записи.

    Python 3 поддерживает следующие числовые типы:

    Операции над числами разных типов возвращают число, имеющее более сложный тип из типов, участвующих в операции. Целые числа имеют самый простой тип, далее идут вещественные числа и самый сложный тип - комплексные числа. Таким образом, если в операции участвуют целое число и вещественное, то целое число будет автоматически преобразовано в вещественное число, а затем произведена операция над вещественными числами. Результатом этой операции будет вещественное число.

    Создать объект целочисленного типа можно обычным способом:

>>> x = 0
>>> y = 10
>>> z = -80
>>> x, y, z
(0, 10, -80)

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

    При выполнении операций над вещественными числами следует учитывать ограничения точности вычислений. Например, результат следующей операции может показаться странным:

>>> 0.3 - 0.1 - 0.1 - 0.1
-2.7755575615628914e-17

    Ожидаемым был бы результат 0.0, но, как видно из примера, мы получили совсем другое значение. Если необходимо производить операции с фиксированной точностью, то следует использовать модуль decimal:

>>> from decimal import Decimal
>>> Decimal('0.3') - Decimal('0.1') - Decimal('0.1') - Decimal('0.1')
Decimal('0.0')

    Кроме того, можно использовать дроби, поддержка которых содержится в модуле fractions. При создании дроби можно как указать два числа: числитель и знаменатель, так и одно число или строку, содержащую число, которое будет преобразовано в дробь.

    Для примера создадим несколько дробей. Вот так формируется дробь 4/5:

>>> from fractions import Fraction
>>> Fraction(4, 5)
Fraction(4, 5)

    А вот так - дробь 1/2, причем можно сделать это тремя способами:

>>> Fraction(1, 2)
Fraction(1, 2)
>>> Fraction("0.5")
Fraction(1, 2)
>>> Fraction(0.5)
Fraction(1, 2)

    Над дробями можно производить арифметические операции, как и над обычными числами:

>>> Fraction(9, 5) - Fraction(2, 3)
Fraction(17, 15)
>>> Fraction("0.3") - Fraction("0.1") - Fraction("0.1") - Fraction("0.1")
Fraction(0, 1)
>>> float(Fraction(0, 1))
0.0

    Комплексные числа записываются в формате:

  <Вещественная часть>+<Мнимая часть>J

    Здесь буква J может стоять в любом регистре. Примеры комплексных чисел:

>>> 2 + 5J, 8j
((2+5j), 8j)

    На следующем шаге мы рассмотрим встроенные функции и методы для работы с числами.




Предыдущий шаг Содержание Следующий шаг