Встроенные математические функции Python
Стандартные функции доступные без подключения модулей.
abs(x)
Возвращает модуль числа. Аргумент x может быть целым (int) или вещественным (float) числом.
a = -1
b = -2.4
c = 5
print(abs(a)) # 1
print(abs(b)) # 2.4
print(abs(c)) # 5
2
3
4
5
6
Для комплексных чисел возвращает длину вектора изображающего комплексное число:
c = complex(3, 4)
print(abs(c)) ## 5.0
2
Если x определяет метод __abs__()
, то abs(x)
вернёт x.__abs__()
.
class MyNumber():
def __init__(self, num):
self.num = num
def __abs__(self):
return -abs(self.num)
x = MyNumber(10)
print(abs(x)) # -10
2
3
4
5
6
7
8
9
pow(base, exp[, mod])
Возвращает base в степени exp:
print(pow(2, 10)) # 1024
print(2 ** 10) # 1024
2
Допустима отрицательная и вещественная степень:
print(pow(2, -2)) # 0.25
print(pow(64, 0.5)) # 8.0
2
Если указан третий аргумент mod, функция вернёт остаток по модулю:
print(pow(2, 10, 100)) # 24
print(pow(2, 10) % 100) # 24
2
divmod(a, b)
Для целых аргументов возвращается кортеж с целочисленным результатом деления и остатком от деления.
print(divmod(10, 3)) # (3, 1)
print((10 // 3, 10 % 3)) # (3, 1)
2
round(number[, ndigits])
Возвращает число округлённое с точностью ndigits знаков после запятой.
print(round(2.1234, 2)) # 2.12
print(round(2.7, 2)) # 2.7
2
Если ndigits пропущено или равно None, функция возвращает ближайшее к number целое число.
print(round(2.11)) # 2
print(round(2.5)) # 2
print(round(2.7)) # 3
2
3
oct(x)
Конвертирует целое число в строку с восьмеричным числом с префиксом "0o".
print(oct(8)) # 0o10
print(oct(-58)) # -0o72
2
Если x не объект типа int то используется метод __index__()
возвращающий целое число.
class MyNumber():
def __init__(self, num):
self.num = num
def __index__(self):
return round(self.num)
x = MyNumber(9.2)
print(oct(x)) # 0o11
2
3
4
5
6
7
8
9
bin(x)
Конвертирует целое число в строку с двоичным числом с префиксом "0b".
print(bin(8)) # 0o1000
print(bin(-58)) # -0b111010
2
Если x не объект типа int то используется метод __index__()
возвращающий целое число.
class MyNumber():
def __init__(self, num):
self.num = num
def __index__(self):
return round(self.num)
x = MyNumber(9.2)
print(bin(x)) # 0b1001
2
3
4
5
6
7
8
9
hex(x)
Конвертирует целое число в строку с шестнадцатеричным числом с префиксом "0x".
print(hex(256)) # 0x100
print(hex(-58)) # -0x3a
2
Если x не объект типа int то используется метод __index__()
возвращающий целое число.
class MyNumber():
def __init__(self, num):
self.num = num
def __index__(self):
return round(self.num)
x = MyNumber(9.2)
print(hex(x)) # 0b1001
2
3
4
5
6
7
8
9