Python’s built-in

function returns the absolute value of the argument **abs(x)**`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`

.

Argument | `x` | int, 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!

Coders get paid six figures and more because they can solve problems more effectively using machine intelligence and automation.

To become more successful in coding, solve more real problems for real people. 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?

**You build high-value coding skills by working on practical coding projects!**

Do you want to stop learning with toy projects and focus on practical code projects that earn you money and solve real problems for people?

🚀 If your answer is ** YES!**, consider becoming 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.

If you just want to learn about the freelancing opportunity, feel free to watch my free webinar “How to Build Your High-Income Skill Python” and learn how I grew my coding business online and how you can, too—from the comfort of your own home.

While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.

To help students reach higher levels of Python success, he founded the programming education website Finxter.com. He’s author of the popular programming book Python One-Liners (NoStarch 2020), coauthor of the Coffee Break Python series of self-published books, computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.

His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.