Python Funkcja abs(): Przykłady wartości bezwzględnych
⚡ Inteligentne podsumowanie
Python abs() to wbudowana funkcja, która zwraca wartość bezwzględną liczby, czyli jej odległość od zera bez znaku. Akceptuje liczby całkowite, zmiennoprzecinkowe i liczby zespolone, zwracając moduł dla danych zespolonych.

Python abs ()
Python abs () jest wbudowaną funkcją dostępną w standardowej bibliotece PythonZwraca wartość bezwzględną podanej liczby. Wartość bezwzględna liczby to wartość bez uwzględniania jej znaku. Liczba może być liczbą całkowitą, zmiennoprzecinkową lub zespoloną. Jeśli podana liczba jest zespolona, funkcja zwróci jej moduł.
Składnia
Poniżej przedstawiono składnię funkcji abs():
abs(value)
Parametry (wartość)
Wartość wejściowa, która ma zostać podana do abs() w celu uzyskania wartości bezwzględnej. Może to być liczba całkowita, liczba zmiennoprzecinkowa lub liczba zespolona.
Wartość zwracana:
Funkcja abs() zwraca wartość bezwzględną podanej liczby.
- Jeśli dane wejściowe są liczbami całkowitymi, wartość zwrócona również będzie liczbą całkowitą.
- Jeśli dane wejściowe są typu float, wartość zwrócona również będzie typu float.
- Jeśli dane wejściowe są liczbami zespolonymi, wartością zwracaną będzie wielkość danych wejściowych.
Przykłady
Poniższe przykłady pokazują funkcję abs() zastosowaną do wartości całkowitych, zmiennoprzecinkowych i zespolonych.
Code Przykład 1: Liczba całkowita i liczba zmiennoprzecinkowa
Aby uzyskać wartość bezwzględną liczby całkowitej i zmiennoprzecinkowej, sprawdź ten kod:
# testing abs() for an integer and float int_num = -25 float_num = -10.50 print("The absolute value of an integer number is:", abs(int_num)) print("The absolute value of a float number is:", abs(float_num))
Wyjście:
The absolute value of an integer number is: 25 The absolute value of a float number is: 10.5
Przykład 2: Liczba zespolona
Aby uzyskać wartość bezwzględną liczby zespolonej, użyj tego kodu:
# testing abs() for a complex number complex_num = (3+10j) print("The magnitude of the complex number is:", abs(complex_num))
Wyjście:
The magnitude of the complex number is: 10.44030650891055
Jak znaleźć wartość bezwzględną listy w Python
Funkcja abs() działa na pojedynczej liczbie, więc przekazanie jej całej listy powoduje błąd TypeError. Aby zastosować ją do każdego elementu listy, należy użyć wyrażenia listowego, które wywołuje funkcję abs() dla każdego elementu:
numbers = [12, 30, -33, -22, 77, -100] abs_numbers = [abs(num) for num in numbers] print(abs_numbers)
Wyjście:
[12, 30, 33, 22, 77, 100]
Kompresja zachowuje oryginalną kolejność i zwraca nową listę wartości dodatnich. Ten sam rezultat można osiągnąć za pomocą wbudowanej funkcji map(), na przykład. list(map(abs, numbers)), która stosuje abs() do każdego elementu bez pisania jawnej pętli.
- Użyj wyrażenia listowego, jeśli chcesz również filtrować lub przekształcać wartości.
- Użyj map() do krótkiego, czytelnego wywołania, które bezpośrednio stosuje abs().
- W przypadku dużych zestawów danych liczbowych tablica NumPy z np.abs() jest szybsza niż Python pętla.
Python abs() kontra math.fabs()
Python Oferuje dwa sposoby uzyskania wartości bezwzględnej: wbudowaną funkcję abs() i funkcję fabs() modułu matematycznego. Wyglądają podobnie, ale zachowują się inaczej:
import math print(abs(-7)) # 7 (int is unchanged) print(math.fabs(-7)) # 7.0 (float result)
Wyjście:
7 7.0
Główne różnice pomiędzy tymi dwiema funkcjami są następujące:
- Typ zwracany: abs() zachowuje typ wejściowy i zwraca liczbę całkowitą dla liczby całkowitej, podczas gdy math.fabs() zawsze zwraca liczbę zmiennoprzecinkową.
- Import: abs() jest zawsze dostępny, ale math.fabs() wymaga
import math. - Liczby zespolone: abs() zwraca moduł liczby zespolonej, natomiast math.fabs() zgłasza wyjątek TypeError w przypadku danych zespolonych.
Praktyczne zastosowania Python Funkcja abs().
Ponieważ funkcja abs() pomija informacje o znaku, jest przydatna, gdy liczy się tylko rozmiar wartości, a nie jej kierunek. Typowym przykładem jest znalezienie różnicy między dwoma odczytami:
temp_morning = 12 temp_night = -5 print("Temperature change:", abs(temp_morning - temp_night))
Wyjście:
Temperature change: 17
Do codziennego zastosowania wartości bezwzględnej zalicza się:
- Odległości i różnice: mierzenie odstępu między dwoma punktami, temperaturami lub znacznikami czasu, bez względu na to, która wartość jest większa.
- Metryki błędów: obliczanie błędu bezwzględnego pomiędzy wartością przewidywaną i wartością rzeczywistą.
- Sprawdzanie tolerancji: testowanie, czy wynik jest wystarczająco bliski celowi, jak w
abs(actual - expected) < 0.01. - Finanse: raportowanie wielkości zysku lub straty bez znaku.
Podobnie jak funkcja round()abs() to wbudowana funkcja, którą można wywołać bezpośrednio, bez konieczności importowania żadnego modułu.
