Python sum() function is used to get the sum of numbers of an iterable.

Table of Contents

## Python sum()

Python sum() function syntax is:

```
sum(iterable[, start])
```

**start** is an optional number with default value of 0. If start is provided, then the sum of start and all the numbers in the iterable is returned.

## Python sum() list of numbers

```
s = sum([1, 2, 3])
print(s)
s = sum([1, 2, 3], 10)
print(s)
```

Output:

```
6
16
```

Note that sum() method doesn’t take keyword arguments, so if we write `sum([1, 2, 3], start=10)`

then it will throw exception as `TypeError: sum() takes no keyword arguments`

.

## Python sum of a sequence of integers

Since sum accepts iterable as argument, we can pass tuple, bytes of numbers too.

```
s = sum(bytes([1, 2]))
print(s)
s = sum(bytearray([1, 2]), 10)
print(s)
# sum of integers in different formats, tuple of numbers
s = sum((1, 0b11, 0o17, 0xFF))
print(s)
s = sum((1, 0b11, 0o17, 0xFF), 0xF)
print(s)
```

Output:

```
3
13
274
289
```

## Python sum of floats

```
s = sum([1.5, 2.5, 3])
print(s)
```

Output: `7.0`

If you want to add floating point values with extended precision, you can use `math.fsum()`

function.

## Python sum of complex numbers

sum() function works with complex numbers too.

```
s = sum([1 + 2j, 3 + 4j])
print(s)
s = sum([1 + 2j, 3 + 4j], 2 + 2j)
print(s)
s = sum([1 + 2j, 2, 1.5 - 2j])
print(s)
```

Output:

```
(4+6j)
(6+8j)
(4.5+0j)
```

Reference: Official Documentation