Встроенные математические функции Python | Way23

Встроенные математические функции 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
1
2
3
4
5
6

Для комплексных чисел возвращает длину вектора изображающего комплексное число:

c = complex(3, 4)
print(abs(c)) ## 5.0
1
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
1
2
3
4
5
6
7
8
9

pow(base, exp[, mod])

Возвращает base в степени exp:

print(pow(2, 10)) # 1024
print(2 ** 10)    # 1024
1
2

Допустима отрицательная и вещественная степень:

print(pow(2, -2)) # 0.25
print(pow(64, 0.5)) # 8.0
1
2

Если указан третий аргумент mod, функция вернёт остаток по модулю:

print(pow(2, 10, 100))  # 24
print(pow(2, 10) % 100) # 24
1
2

divmod(a, b)

Для целых аргументов возвращается кортеж с целочисленным результатом деления и остатком от деления.

print(divmod(10, 3)) # (3, 1) 
print((10 // 3, 10 % 3)) # (3, 1)
1
2

round(number[, ndigits])

Возвращает число округлённое с точностью ndigits знаков после запятой.

print(round(2.1234, 2)) # 2.12
print(round(2.7, 2)) # 2.7
1
2

Если ndigits пропущено или равно None, функция возвращает ближайшее к number целое число.

print(round(2.11)) # 2
print(round(2.5)) # 2
print(round(2.7)) # 3
1
2
3

oct(x)

Конвертирует целое число в строку с восьмеричным числом с префиксом "0o".

print(oct(8)) # 0o10
print(oct(-58)) # -0o72
1
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
1
2
3
4
5
6
7
8
9

bin(x)

Конвертирует целое число в строку с двоичным числом с префиксом "0b".

print(bin(8)) # 0o1000
print(bin(-58)) # -0b111010
1
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
1
2
3
4
5
6
7
8
9

hex(x)

Конвертирует целое число в строку с шестнадцатеричным числом с префиксом "0x".

print(hex(256)) # 0x100
print(hex(-58)) # -0x3a
1
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
1
2
3
4
5
6
7
8
9

Ссылки

Последниее изменение: 31.08.2021, 15:52:51