5.5 math -- Funkcje matematyczne

Moduł jest zawsze dostępny. Oferuje funkcje matematyczne zdefiniowane przez standard języka C.

Argumentami tych funkcji nie mogą być liczby zespolone. W przypadku użycia liczb zespolonych, należy użyć funkcji o tych samych nazwach, lecz należących do modułu cmath. Rozróżnienie pomiędzy funkcjami obsługującymi liczby zespolone oraz takimi, które tej możliwości nie oferują, powstało ze względu na fakt, że większość użytkowników nie chce uczyć się matematyki w stopniu pozwalającym zrozumieć liczby zespolone. Otrzymanie wyjątku zamiast wyniku będącego liczbą zespoloną pozwala na wcześniejsze wykrycie liczb zespolonych pojawiających się niespodziewanie w roli argumentów. Dzięki temu programista może przede wszystkim określić w jaki sposób i dlaczego wyjątek został wygenerowany.

Moduł oferuje następujące funkcje. O ile dokumentacja którejś z funkcji jawnie nie określa typu wartości zwracanej, przyjmuje się, że funkcja zwraca liczbę zmiennoprzecinkową.

acos(x)
Zwraca arcus cosinus argumentu x.

asin(x)
Zwraca arcus sinus argumentu x.

atan(x)
Zwraca arcus tangens argumentu x.

atan2(y, x)
Zwraca wartość atan(y / x).

ceil(x)
Zwraca najmniejszą liczbę całkowitą nie mniejszą od argumentu x w postaci liczby zmiennoprzecinkowej.

cos(x)
Zwraca cosinus argumentu x.

cosh(x)
Zwraca cosinus hiperboliczny argumentu x.

degrees(x)
Przekształca kąt x z radianów na stopnie.

exp(x)
Zwraca wartość e**x.

fabs(x)
Zwraca moduł (wartość bezwzględną) argumentu x.

floor(x)
Zwraca quotpodłogę (największą liczbę całkowitą nie większą od) argumentu x w postaci liczby zmiennoprzecinkowej.

fmod(x, y)
Zwraca fmod(x, y), tak, jak to zostało zdefiniowane w zgodnej z platformą bibliotece języka C. Należy zauważyć, że wyrażenie języka Python x % y nie musi zwrócić takiego samego rezultatu.

frexp(x)
Zwraca mantysę i cechę argumentu x jako parę (m, e). Wartość m jest liczbą zmiennoprzecinkową, natomiast wartość e jest liczbą całkowitą. Liczby te spełniają równanie: x == m * 2**e. Jeżeli argument x ma wartość zero, zwracana jest para (0.0, 0), w przeciwnym przypadku spełniona jest nierówność 0.5 <= abs(m) < 1.

hypot(x, y)
Zwraca wartość sqrt(x*x + y*y). Jest to długość przeciwprostokątnej w trójkącie prostokątnym o przyprostokątnych, których długości są równe x oraz y, lub odległość punktu (x, y) od środka układu współrzędnych.

ldexp(x, i)
Zwraca wartość x * (2**i).

log(x[, podstawa_logarytmu])
Zwraca logarytm o podstawie podstawa_logarytmu argumentu x. Jeżeli podstawa_logarytmu nie zostanie podana, zwracany jest logarytm naturalny argumentu x. Zmieniono w wersji 2.3: base argument added.

log10(x)
Zwraca logarytm o podstawie 10 argumentu x.

modf(x)
Zwraca część ułamkową i całkowitą argumentu x. Obydwie wartości mają znak liczby x. Wartość całkowita zwracana jest w postaci liczby zmiennoprzecinkowej.

pow(x, y)
Zwraca wartość x**y.

radians(x)
Przekształca kąt x ze stopni na radiany.

sin(x)
Zwraca sinus argumentu x.

sinh(x)
Zwraca sinus hiperboliczny argumentu x.

sqrt(x)
Zwraca pierwiastek kwadratowy argumentu x.

tan(x)
Zwraca tangens argumentu x.

tanh(x)
Zwraca tangens hiperboliczny argumentu x.

Należy zauważyć, że funkcje frexp() i modf() używane są inaczej, niż ich odpowiedniki z języka C: pobierają one pojedynczy argument i zwracają parę wartości. W języku C zwracają drugą wartość za pośrednictwem wskaźnika przekazanego jako drugi argument funkcji (różnica wynika z faktu, iż w języku Python nie występuje pojęcie wskaźników na zmienne).

Moduł definiuje również dwie matematyczne stałe:

pi
Stała pi.

e
Stała e.

Notka: Moduł math składa się głównie z niewielkich funkcji opakowujących funkcje ze standardowej biblioteki matematycznej języka C na używanej platformie. W standardzie języka C zachowanie niektórych funkcji nie zostało szczegółowo opisane, w związku z czym sposób informowania o pojawiających się błędach w funkcjach matematycznych języka Python pochodzi z implementacji w języku C. Wobec tego specyficzne wyjątki generowane w przypadku pojawienia się błędów (oraz odpowiedź na pytanie, czy pewne szczególne argumenty powinny być traktowane jako generujące wyjątki) nie są zdefiniowane w sposób pozwalający na używanie ich między różnymi platformami, a nawet między kolejnymi wersjami języka Python. Na przykład, nie jest zdefiniowane, czy wyrażenie math.log(0) zwróci -Inf, czy może wygeneruje wyjątek ValueError czy OverflowError, Nie jest również określone, czy w sytuacjach, w których math.log(0) wygeneruje wyjątek OverflowError, wyrażenie math.log(0L) może zamiast tego wygenerować wyjątek ValueError.

Zobacz też:

Module cmath:
Wersje wielu opisanych w tym module funkcji przeznaczonych dla liczb zespolonych.
Zajrzyj do Informacji na temat tej publikacji... aby pomóc w jej rozwoju.