Python abs() Function

Python’s built-in abs(x) function returns the absolute value of the argument x that can be an integer, float, or object implementing the __abs__() function. For a complex number, the function returns its magnitude. The absolute value of any numerical input argument -x or +x is the corresponding positive value +x.

Argumentxint, float, complex, object with __abs__() implementation
Return Value|x|Returns the absolute value of the input argument.
Integer input –> Integer output
Float input –> Float output
Complex input –> Complex output

Interactive Code Shell

Example Integer abs()

The following code snippet shows you how to use the absolute value 42 of a positive integer value 42.

# POSITIVE INTEGER
x = 42
abs_x = abs(x)

print(f"Absolute value of {x} is {abs_x}")
# Absolute value of 42 is 42

The following code snippet shows you how to use the absolute value 42 of a negative integer value -42.

# NEGATIVE INTEGER
x = -42
abs_x = abs(x)

print(f"Absolute value of {x} is {abs_x}")
# Absolute value of -42 is 42

Example Float abs()

The following code snippet shows you how to use the absolute value 42.42 of a positive integer value 42.42.

# POSITIVE FLOAT
x = 42.42
abs_x = abs(x)

print(f"Absolute value of {x} is {abs_x}")
# Absolute value of 42.42 is 42.42

The following code snippet shows you how to use the absolute value 42.42 of a negative integer value -42.42.

# NEGATIVE FLOAT
x = -42.42
abs_x = abs(x)

print(f"Absolute value of {x} is {abs_x}")
# Absolute value of -42.42 is 42.42

Example Complex abs()

The following code snippet shows you how to use the absolute value of a complex number (3+10j).

# COMPLEX NUMBER
complex_number = (3+10j)
abs_complex_number = abs(complex_number)

print(f"Absolute value of {complex_number} is {abs_complex_number}")
# Absolute value of (3+10j) is 10.44030650891055

Python abs() vs fabs()

Python’s built-in function abs(x) calculates the absolute number of the argument x. Similarly, the fabs(x) function of the math module calculates the same absolute value. The difference is that math.fabs(x) always returns a float number while Python’s built-in abs(x) returns an integer if the argument x is an integer as well. The name “fabs” is shorthand for “float absolute value”.

Here’s a minimal example:

x = 42


# abs()
print(abs(x))
# 42


# math.fabs()
import math
print(math.fabs(x))
# 42.0

Python abs() vs np.abs()

Python’s built-in function abs(x) calculates the absolute number of the argument x. Similarly, NumPy’s np.abs(x) function calculates the same absolute value. There are two differences: (1) np.abs(x) always returns a float number while Python’s built-in abs(x) returns an integer if the argument x is an integer, and (2) np.abs(arr) can be also applied to a NumPy array arr that calculates the absolute values element-wise.

Here’s a minimal example:

x = 42


# abs()
print(abs(x))
# 42


# numpy.abs()
import numpy as np
print(np.fabs(x))
# 42.0

# numpy.abs() array
a = np.array([-1, 2, -4])
print(np.abs(a))
# [1 2 4]

abs and np. absolute are completely identical. It doesn’t matter which one you use. There are several advantages to the short names: They are shorter and they are known to Python programmers because the names are identical to the built-in Python functions.

Summary

The abs() function is a built-in function that returns the absolute value of a number. The function accepts integers, floats, and complex numbers as input.

If you pass abs() an integer or float, n, it returns the non-negative value of n and preserves its type. In other words, if you pass an integer, abs() returns an integer, and if you pass a float, it returns a float.

# Int returns int
>>> abs(20)
20
# Float returns float
>>> abs(20.0)
20.0
>>> abs(-20.0)
20.0

The first example returns an int, the second returns a float, and the final example returns a float and demonstrates that abs() always returns a positive number.

Complex numbers are made up of two parts and can be written as a + bj where a and b are either ints or floats. The absolute value of a + bj is defined mathematically as math.sqrt(a**2 + b**2). Thus, the result is always positive and always a float (since taking the square root always returns a float).

>>> abs(3 + 4j)
5.0
>>> math.sqrt(3**2 + 4**2)
5.0

Here you can see that abs() always returns a float and that the result of abs(a + bj) is the same as math.sqrt(a**2 + b**2).

Where to Go From Here?

Enough theory, let’s get some practice!

To become successful in coding, you need to get out there and solve real problems for real people. That’s how you can become a six-figure earner easily. And that’s how you polish the skills you really need in practice. After all, what’s the use of learning theory that nobody ever needs?

Practice projects is how you sharpen your saw in coding!

Do you want to become a code master by focusing on practical code projects that actually earn you money and solve problems for people?

Then become a Python freelance developer! It’s the best way of approaching the task of improving your Python skills—even if you are a complete beginner.

Join my free webinar “How to Build Your High-Income Skill Python” and watch how I grew my coding business online and how you can, too—from the comfort of your own home.

Join the free webinar now!