I got a question in the New York Python user group today about the difference between / and // in Python division. In this tutorial, I will explain the difference between / and // in Python division with examples. After this, you will know when to use these two operators in Python.
The / Operator: True Division
The /
operator in Python performs true division. This means that it divides the numerator by the denominator and returns a floating-point number, regardless of whether the operands are integers or floats.
Example 1: Basic True Division
result = 10 / 3
print(result) # Output: 3.3333333333333335
In this example, 10 / 3
returns 3.3333333333333335
, a floating-point number. True division is useful when you need precise decimal results, such as when calculating averages or proportions.
Here is the output you can see in the screenshot below:

Example 2: True Division with Floating-Point Numbers
result = 10.0 / 3
print(result) # Output: 3.3333333333333335
Even if one of the operands is a floating-point number, the /
operator will return a floating-point result. This ensures that the division operation is accurate and not truncated.
Check out How to Divide a Variable in Python?
The // Operator: Floor Division
The //
operator in Python performs floor division. This means that it divides the numerator by the denominator and returns the largest integer less than or equal to the result. Essentially, it “floors” the result to the nearest whole number.
Example 1: Basic Floor Division
result = 10 // 3
print(result) # Output: 3
In this example, 10 // 3
returns 3
, an integer. Floor division is useful when you need to discard the fractional part of the division result, such as when calculating the number of complete groups or batches.
You can see the exact output in the screenshot below after I executed the code.

Example 2: Floor Division with Negative Numbers
result = -10 // 3
print(result) # Output: -4
When dealing with negative numbers, floor division still rounds down to the nearest whole number. In this case, -10 // 3
returns -4
because -4
is the largest integer less than -3.333
.
Check out How to Subtract from a Variable in Python?
Difference between / and // in Python division with Examples
Let’s explore some real-world scenarios where these division operators can be applied in Python.
Example 1: Calculate Average Miles Per Gallon (MPG)
Suppose you’re tracking your car’s fuel efficiency. You want to calculate the average miles per gallon (MPG) for a recent road trip.
total_miles = 350
total_gallons = 10
average_mpg = total_miles / total_gallons
print(average_mpg) # Output: 35.0
In this case, using the /
operator gives you a precise MPG value of 35.0
.
Example 2: Distribute Items into Boxes
Imagine you’re organizing a charity event and need to pack donated items into boxes. You want to know how many complete boxes you can fill with the items you have.
total_items = 95
items_per_box = 8
full_boxes = total_items // items_per_box
print(full_boxes) # Output: 11
Using the //
operator, you find that you can fill 11
complete boxes with the items.
Example 3: Calculate Remaining Items
Continuing from the previous example, you might also want to know how many items will be left over after filling the boxes.
remaining_items = total_items % items_per_box
print(remaining_items) # Output: 7
Here, the %
operator (modulus) is used to calculate the remaining items, which is 7
.
Read How to Multiply a Variable in Python?
Difference between / and // in Python
Here’s a summary of the differences between /
and //
in Python division.
Feature | / (True Division) | // (Floor Division) |
---|---|---|
Operation | Divides and returns a floating-point number | Divides and returns the largest integer less than or equal to the result |
Result Type | Floating-point number | Integer |
Example | 10 / 3 returns 3.3333333333333335 | 10 // 3 returns 3 |
Negative Numbers | -10 / 3 returns -3.3333333333333335 | -10 // 3 returns -4 |
Use Cases | Precise calculations, such as averages or proportions | Discarding fractional parts, such as counting complete groups or batches |
Real-World Scenario | Calculating average miles per gallon (MPG) | Distributing items into boxes |
This table provides a quick reference for understanding the key differences and appropriate use cases for each division operator in Python.
Conclusion
I hope you now have an idea of the difference between / and // in the Python division with examples. The /
operator performs true division, returning a floating-point result, while the //
operator performs floor division, returning an integer result. While doing some mathematical calculations, you can now use the right operator.
You may also like:
- How to Increment a Variable in Python?
- Difference Between Mutable And Immutable In Python With Examples
- Difference Between = and == in Python With Examples

I’m Michelle Gallagher, a Senior Python Developer at Lumenalta based in New York, United States. I have over nine years of experience in the field of Python development, machine learning, and artificial intelligence. My expertise lies in Python and its extensive ecosystem of libraries and frameworks. Throughout my career, I’ve had the pleasure of working on a variety of projects that have leveraged my skills in Python and machine learning. Read more…