math.pow(), exp(), exp2() și expm1() în Python

Numere și matematică Python 3.0+ (expm1: 3.2+, exp2: 3.11+)

Ridicarea la putere în virgulă mobilă și funcțiile exponențiale.

Sintaxă
math.pow(x, y)
math.exp(x)
math.exp2(x)
math.expm1(x)

Ce face math.pow(), exp(), exp2() și expm1()

math.pow(x, y) calculează x la puterea y, dar transformă mereu argumentele în float, spre deosebire de ** și pow(), care păstrează întregii exacți.

exp(x) calculează ex, exp2(x) (Python 3.11+) calculează 2x, iar expm1(x) calculează ex − 1 precis chiar pentru x foarte mic, unde exp(x) - 1 pierde cifre.

Parametri

Parametru Descriere
x, y Numere.

Ce returnează

Un float.

Exemple

Exemplul 1: Puteri și exponențiale

import math
print(math.pow(2, 10), 2 ** 10)
print(math.pow(2, 0.5))
print(math.exp(1), math.exp2(8))
print(math.exp(1e-10) - 1, math.expm1(1e-10))

Rezultat

1024.0 1024
1.4142135623730951
2.718281828459045 256.0
1.000000082740371e-10 1.00000000005e-10

Exemplul 2: Dobândă compusă continuu

import math
suma, rata, ani = 1000, 0.05, 10
print(round(suma * math.exp(rata * ani), 2))
print(round(suma * (1 + rata) ** ani, 2))

Rezultat

1648.72
1628.89

Greșeli frecvente

  • Folosești math.pow cu întregi mari: math.pow(3, 40) dă un float aproximativ. Pentru rezultat exact folosește 3 ** 40.

Comenzi înrudite