Шаг 32.
Основы языка Python.
Числа. Встроенные функции и методы для работы с числами
На этом шаге мы перечислим эти функции и методы.
Для работы с числами предназначены следующие встроенные функции:
- int ([<Объект> [, <Система счисления>] ]) - преобразует объект в целое число. Во втором параметре можно указать систему счисления преобразуемого числа (значение по умолчанию 10). Пример:
>>> int(7.5), int("71", 10), int('0o71', 8), int('0xA',16)
(7, 71, 57, 10)
>>> int(), int('0b11111111', 2)
(0, 255)
- float ([<Число или строка>]) - преобразует целое число или строку в вещественное число:
>>> float(7), float('7.1'), float('12.')
(7.0, 7.1, 12.0)
>>> float('inf'), float("-Infinity"), float('nan')
(inf, -inf, nan)
>>> float()
0.0
- bin (<Число>) - преобразует десятичное число в двоичное. Возвращает строковое представление числа. Пример:
>>> bin(255), bin(1), bin(-45)
('0b11111111', '0b1', '-0b101101')
- oct (<Число>) - преобразует десятичное число в восьмеричное. Возвращает строковое представление числа. Пример:
>>> oct(7), oct(8), oct(64)
('0o7', '0o10', '0o100')
- hex (<Число>) - преобразует десятичное число в шестнадцатеричное. Возвращает строковое представление числа. Пример:
>>> hex(10), hex(16), hex(255)
('0xa', '0x10', '0xff')
- round (<Число> [, <Количество знаков после точки>] ) - для чисел с дробной частью меньше 0.5 возвращает число, округленное до ближайшего меньшего целого, а для чисел с дробной
частью больше 0.5 возвращает число, округленное до ближайшего большего целого. Если дробная часть равна 0.5, то округление производится до ближайшего четного числа. Пример:
>>> round(0.49), round(0.50), round(0.51)
(0, 0, 1)
>>> round(1.49), round(1.50), round(1.51)
(1, 2, 2)
>>> round(2.49), round(2.50), round(2.51)
(2, 2, 3)
Во втором параметре можно указать желаемое количество знаков после запятой. Если оно не указано, используется значение 0 (т. е. число будет округлено до целого):
>>> round(1.524, 2), round(1.525, 2), round(1.52555, 3)
(1.52, 1.52, 1.526)
- abs (<Число>) - возвращает абсолютное значение:
>>> abs(-10), abs(10), abs(-12.5)
(10, 10, 12.5)
- pow (<Число>, <Степень>[, <Делитель>]) - возводит <Число> в <Степень>:
>>> pow(10, 2), 10 ** 2, pow(3, 3), 3 ** 3
(100, 100, 27, 27)
Если указан третий параметр, то возвращается остаток от деления полученного результата на значение этого параметра:
>>> pow(10, 2, 2), (10 ** 2) % 2, pow(3, 3, 2), (3 ** 3) % 2
(0, 0, 1, 1)
- max (<Список чисел через запятую>) - максимальное значение из списка:
>>> max(1, 2, 3), max(3, 2, 3, 1), max(1, 1.0), max(1.0, 1)
(3, 3, 1, 1.0)
- min (<Список чисел через запятую>) - минимальное значение из списка:
>>> min(1, 2, 3), min(3, 2, 3, 1), min(1, 1.0), min(1.0, 1)
(1, 1, 1, 1.0)
- sum (<Последовательность> [, <Начальное значение>]) - возвращает сумму значений элементов последовательности (например: списка, кортежа) плюс
<Начальное значение>. Если второй параметр не указан, начальное значение принимается равным 0. Если последовательность пустая, то возвращается значение второго параметра. Примеры:
>>> sum((10, 20, 30, 40)), sum([10, 20, 30, 40])
(100, 100)
>>> sum([10, 20, 30, 40], 2), sum([], 2)
(102, 2)
- divmod (x, y) - возвращает кортеж из двух значений (x // y, x % y):
>>> divmod(13, 2) # 13 = 6 * 2 + 1
(6, 1)
>>> 13 // 2, 13 % 2
(6, 1)
>>> divmod(13.5, 2.0) # 13.5 = 6.0 * 2 + 1.5
(6.0, 1.5)
Следует понимать, что все типы данных, поддерживаемые Python, представляют собой классы. Класс float, представляющий вещественные числа, поддерживает следующие полезные методы:
- is_integer () - возвращает True, если заданное вещественное число не содержит дробной части, т. е. фактически представляет собой целое число:
>>> (2.0).is_integer()
True
>>> (2.3).is_integer()
False
- as_integer_ratio() - возвращает кортеж из двух целых чисел, представляющих собой числитель и знаменатель дроби, которая соответствует заданному числу:
>>> (0.5).as_integer_ratio()
(1, 2)
>>> (2.3).as_integer_ratio()
(2589569785738035, 1125899906842624)
На следующем шаге мы рассмотрим математические функции модуля math.
Предыдущий шаг
Содержание
Следующий шаг