# Python ZeroDivisionError – Tutorial with Examples

Python is a high-level programming language that is known for its easy readability and user-friendly syntax. It offers various in-build functions and libraries to perform tasks quickly and efficiently. However, errors and exceptions can occur while executing Python code. One such error is the ZeroDivisionError. In this tutorial, we will learn about the ZeroDivisionError in Python and how it can be handled.

## What is ZeroDivisionError in Python?

ZeroDivisionError is an exception that occurs when a number is divided by zero. In mathematical terms, any number divided by zero results in infinity. However, in programming, dividing any number by zero leads to an error.

Consider the following example:

```a = 10
b = 0
c = a / b
print(c)```

When we run the above code, it will result in a ZeroDivisionError as shown below:

```Traceback (most recent call last):
File "example.py", line 3, in <module>
c = a / b
ZeroDivisionError: division by zero```

From the above error, we can see that the ZeroDivisionError occurred at line 3 because we tried to divide a number by zero. This exception can be raised in various ways in Python.

### Example 1: Simple Division by Zero

In the below example, we are dividing a number by zero:

```# dividing a number by zero
a = 10
b = 0
c = a / b
print(c)```

The output of the above code will be:

```Traceback (most recent call last):
File "example.py", line 3, in <module>
c = a / b
ZeroDivisionError: division by zero```

As we can see from the output, the ZeroDivisionError occurs when we divide a number by zero.

### Example 2: Division by a Variable with Zero Value

In the below example, we are dividing a number by a variable which has a value of zero:

```# dividing a number by a variable with zero value
a = 10
b = 0
c = a / b
print(c)```

The output of the above code will be:

```Traceback (most recent call last):
File "example.py", line 3, in <module>
c = a / b
ZeroDivisionError: division by zero```

The ZeroDivisionError also occurs when we divide a number by a variable that has a value of zero.

### Example 3: Division by a Variable with Unknown Value

In the below example, we are dividing a number by a variable with an unknown value:

```# dividing a number by a variable with unknown value
a = 10
b = c
c = a / b
print(c)```

The output of the above code will be:

```Traceback (most recent call last):
File "example.py", line 3, in <module>
c = a / b
NameError: name 'c' is not defined```

In this example, we get a NameError instead of a ZeroDivisionError because the value of the variable ‘b’ is not defined. Since the value of ‘b’ is unknown, we cannot divide ‘a’ by ‘b’. Hence, Python raises a NameError because it cannot find the value of the variable ‘c’.

## How to Handle ZeroDivisionError in Python?

There are two main ways to handle ZeroDivisionError in Python:

• Using Try-Except Block
• Using if statement

### Using Try-Except Block

We can use the try-except block to handle ZeroDivisionError in Python. The try block is used to execute the code and the except block handles the exception thrown by the try block. Consider the following example:

```try:
a = 10
b = 0
c = a / b
print(c)
except ZeroDivisionError:
print("An error occurred: Division by zero")```

The output of the above code will be:

`An error occurred: Division by zero`

In the above code, we caught the ZeroDivisionError using the except block and printed a custom message instead of the error message.

### Using if statement

We can also use the if statement to prevent ZeroDivisionError in Python. In this method, we check if the divisor is zero before performing the division operation. Consider the following example:

```a = 10
b = 0

if b == 0:
print("The divisor cannot be zero.")
else:
c = a / b
print(c)```

The output of the above code will be:

`The divisor cannot be zero.`

In the above code, we checked if the value of variable ‘b’ is zero or not. If it is zero, we printed a custom message. If it is not zero, we performed the division operation.

## Conclusion

ZeroDivisionError occurs when we divide a number by zero. It can be handled using the try-except block or if statement. We should always handle exceptions in Python to prevent unexpected errors and crashes in our programs.