O module dziesiętnym
Moduł dziesiętny, jak sama nazwa wskazuje, może być używany do obsługi liczb o punktach dziesiętnych lub liczbach zmiennoprzecinkowych. Metody zawarte w tym module pomagają w zaokrąglaniu liczb dziesiętnych, konwersji liczb i wykonywanie obliczeń arytmetycznych. Koncentruje się również na precyzji i dokładności, a każda liczba po punkcie dziesiętnym jest uważana za znaczącą. Moduł dziesiętny rozważa liczbę jak 1.40 jako 1.40 i nie jako 1.4. Wykorzystanie modułu dziesiętnego można najlepiej zrozumieć za pomocą przykładów. Niektóre z nich są wyjaśnione poniżej.
Wykonanie podstawowych obliczeń matematycznych za pomocą modułu dziesiętnego
Możesz zadzwonić do konstruktora dziesiętnego, aby przekonwertować numer na typ dziesiętny w Pythonie. Poniższa próbka kodu pokazuje różnicę między podstawowym podziałem matematycznym wykonanym na liczbach typów liczb całkowitych a liczbami typów dziesiętnych.
Od dziesiętnych importu dziesiętnegoPierwsze oświadczenie importuje klasę dziesiętną z modułu dziesiętnego. Następnie tworzone są dwie zmienne „a” i „b” z niektórymi wartościami. Zmienna „C” przechowuje wartość wytworzoną przez podzielenie zmiennej A przez B. Ten sam proces jest następnie powtarzany przez przekształcenie liczb na obiekty typu dziesiętnego. Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe:
0.9090909090909091Jak widać na powyższym wyjściu, obiekt typu zmiennoprzecinkowy pokazuje liczby z mniejszą precyzją niż obiekt typu dziesiętny, ponieważ używa znacznie bardziej agresywnej metody przybliżenia niż obiekt typu dziesiętny. Domyślnie liczba typów dziesiętnych w Pythonie pokazuje do 28 liczb. Możesz zmienić tę wartość zgodnie z potrzebą, wywołując metodę „getContext” dostępną w module dziesiętnym.
Od dziesiętnych importu dziesiętnegoW powyższej próbce kodu funkcja getContext została zaimportowana, a pozycja precyzyjna została skonfigurowana do 50 pozycji. Metodę getContext można użyć do wyświetlania bieżącego kontekstu w wątku i zmiany niektórych domyślnych parametrów konfiguracyjnych dla modułu dziesiętnego. Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe:
0.9090909090909091Możesz wykonać dowolny rodzaj obliczeń arytmetycznych z obiektami typu dziesiętnego, które można wykonać z obiektami typu pływakowego w Pythonie. Duża liczba końcowych liczb dziesiętnych w obiektach typu dziesiętnego może przynieść dokładne liczby, które są szczególnie przydatne w finansach, rachunkowości, Mission Critical Scientifics i tak dalej.
Zauważ, że możesz tworzyć liczby typów dziesiętnych z pływaków, liczb całkowitych i ciągów zawierających liczby, wywołując główny konstruktor dziesiętny.
Zaokrąglanie liczb za pomocą modułu dziesiętnego
Moduł dziesiętny jest wyposażony w niektóre predefiniowane tryby zaokrąglania, których można użyć do zaokrąglania liczb z punktami dziesiętnymi. Tryby te nazywane są Round_Floor, Round_ceiling, Round_Half_Down, Round_Half_Up, Round_up, Round_Down, Round_Half_even i Round_05up. Zgodnie z oficjalną dokumentacją Pythona, oto, co robi każdy z tych trybów:
Poniższa próbka kodu pokazuje zachowanie tych trybów.
Import dziesiętnyPróbka kodu jest dość prosta. Precyzja 2 cyfr jest ustawiona do zaokrąglania liczb. Metoda zaokrąglania jest zmieniana poprzez ustawienie wartości obiektu „zaokrąglonego” (część głównego kontekstu). Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe, w którym każda linia odpowiada odpowiedniemu trybowi zaokrąglania:
3.9Zaokrąglanie za pomocą metody kwantowej
Możesz także użyć metody „kwantyzacji” dostępnej w module dziesiętnym, aby zaokrąglić liczby. Proces jest identyczny z wyjaśnioną powyżej metodą. Jednak zamiast ustawiać liczby precyzyjne osobno, możesz dostarczyć wykładnik jako argument do metody kwantyzacji, aby zaokrąglić liczbę do określonej pozycji. Poniżej znajduje się próbka kodu.
Import dziesiętnyWykładnik „1.0 'został dostarczony do metody kwantyzacji, a metoda zaokrąglania została dostarczona jako dodatkowy argument. Zwróci numer w x.Format x. Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe:
3.9Porównanie dwóch liczb dziesiętnych
Możesz porównać dowolne dwa obiekty typu dziesiętnego za pomocą metody „Porównaj” dostępną w module dziesiętnym. Poniższe przykłady pokazują jego użycie.
Od dziesiętnych importu dziesiętnegoMożesz wywołać metodę porównanie w obiekcie typu dziesiętnym i podać drugi numer jako argument. Wartość 0, 1 lub -1 zostanie zwrócona w zależności od porównywanych liczb. Wartość 0 wskazuje, że obie liczby są równe, wartość 1 wskazuje, że pierwsza liczba jest większa niż druga liczba, a wartość -1 wskazuje, że pierwsza liczba jest mniejsza niż druga liczba. Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe:
1Wniosek
Chociaż moduł dziesiętny jest najczęściej stosowany do kontrolowania precyzji dziesiętnej i do zaokrąglania liczb po punkcie dziesiętnym, ma on inne przydatne metody, które można dalej wykorzystać do manipulowania liczbami dziesiętnymi w celu uzyskania dokładnych wyników obliczeń arytmetycznych. Podstawowe użycie modułu dziesiętnego zostało omówione w tym artykule i powinno wystarczyć w większości sytuacji. Ale zawsze możesz przeczytać więcej o zaawansowanych metodach oficjalnej dokumentacji Pythona.