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.