If you’re learning Python, one of the first things you’ll encounter is the concept of integers. These whole numbers are everywhere—from counting loops to calculating scores. But how do you know if something is an integer in Python?
Let’s start with the most beginner-friendly tool: the type()
function.
How to Check If Something Is an Integer
In Python, you can use the type()
function to find out what kind of data you’re working with.
print(type(42)) # <class 'int'>
print(type("42")) # <class 'str'>
42
is an integer — a whole number."42"
is a string — text wrapped in quotes.
💡 Tip: If it’s in quotes, it’s not an integer. Use type()
to double-check!
What Is an Integer?
An integer is a whole number—positive, negative, or zero. In Python, integers belong to the int
class.
# Integers: whole numbers
print(type(-7)) # <class 'int'>
print(type(0)) # <class 'int'>
print(type(999999)) # <class 'int'>
# Floats: numbers with decimal points
print(type(3.14)) # <class 'float'>
print(type(-0.001)) # <class 'float'>
# Booleans: True or False values
print(type(True)) # <class 'bool'>
print(type(False)) # <class 'bool'>
# Strings: text wrapped in quotes
print(type("42")) # <class 'str'>
print(type("Hello")) # <class 'str'>
Here’s a Quick Summary of Python Data Types
When you’re coding in Python, it’s important to know what kind of data you’re working with. Python uses data types to categorize values, and the type()
function helps you check them instantly.
Here’s a breakdown of the four most common types beginners will encounter:
int
→ Integer
- Represents whole numbers with no decimal point.
- Examples:
42
,-7
,0
- Used for counting, indexing, and basic math.
- Python calls this type:
<class 'int'>
print(type(42)) # <class 'int'>
float
→ Floating-Point Number
- Represents decimal numbers or numbers with a fractional part.
- Examples:
3.14
,-0.001
,2.0
- Used when precision matters—like in measurements or currency.
- Python calls this type:
<class 'float'>
print(type(3.14)) # <class 'float'>
bool
→ Boolean
- Represents logical values:
True
orFalse
- Used in conditions, comparisons, and control flow.
- Python calls this type:
<class 'bool'>
print(type(True)) # <class 'bool'>
str
→ String
- Represents text—anything inside quotes.
- Examples:
"Hello"
,"42"
,"3.14"
- Even if it looks like a number, if it’s in quotes, it’s a string.
- Python calls this type:
<class 'str'>
print(type("42")) # <class 'str'>
So, Why is type()
Is So Useful
The type()
function is your go-to tool for understanding what Python sees. It helps you:
- Avoid type errors (like trying to add a string to an integer)
- Debug your code with confidence
- Learn how Python categorizes data behind the scenes
Want to Try It Yourself?
Want to test your understanding? Try typing these into a Python shell:
print(type("3.14")) # What do you think this is?
print(type(3.14)) # And this one?
print(type(False)) # Boolean or string?
Using Integers in Python
Basic Arithmetic
a = 10
b = 3
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
print(a // b) # 3 (integer division)
print(a % b) # 1 (modulo)
BODMAS in Python: Operator Precedence Explained
In Python, just like in maths, operations follow a specific order. This is known as BODMAS:
- Brackets
- Orders (Exponents)
- Division
- Multiplication
- Addition
- Subtraction
In Python, this is often referred to as operator precedence, and it follows the same logic.
Python Evaluates Expressions in This Order:
- Parentheses
()
- Exponents
**
- Multiplication
*
, Division/
, Floor Division//
, Modulo%
- Addition
+
, Subtraction-
Examples in Python
# Without parentheses
result = 2 + 3 * 4 # 3*4 = 12 → 2+12 = 14
print(result) # Output: 14
# With parentheses
result = (2 + 3) * 4 # 2+3 = 5 → 5*4 = 20
print(result) # Output: 20
# Exponents first
result = 2 + 3 ** 2 # 3**2 = 9 → 2+9 = 11
print(result) # Output: 11
# Mixed operations
result = 10 - 4 / 2 + 6 # 4/2 = 2 → 10-2 = 8 → 8+6 = 14
print(result) # Output: 14
Common Mistakes
- Forgetting parentheses can lead to unexpected results.
- Assuming Python reads left to right—operator precedence overrides that.
- Mixing integers and floats can change the result type.
Quick Tip for Learners
Use parentheses to make your code clearer and avoid confusion. Even if Python would get it right, parentheses help you and others read it better.
Would you like a spoken script version of this or a visual flowchart for your learners? I can also add a mini challenge like “What does 5 + 2 * (3 + 1)
evaluate to?” to reinforce the concept.
Intermediate: Integer Functions and Conversion
Converting to Integers
int("42") # Converts string to integer
int(3.99) # Converts float to integer (truncates to 3)
Useful Built-in Functions
abs(-5)
→5
(absolute value)pow(2, 3)
→8
(exponentiation)divmod(10, 3)
→(3, 1)
(quotient and remainder)
Expert: Big Integers and Performance
Python supports arbitrary-precision integers, so you can work with massive numbers:
big = 10**100
print(big)
A Note on Precision Errors with Floats
While integers are exact, floats can sometimes behave unexpectedly due to how computers store decimal numbers.
print(0.1 + 0.2) # Output: 0.30000000000000004
Wait—what? Shouldn’t that be 0.3
?
This is called a floating-point precision error. Python (like most languages) stores floats in binary, which can’t always represent decimal fractions exactly. So you get tiny rounding errors.
Why It Matters
- Precision errors can affect comparisons (
==
) and calculations. - They’re common in financial, scientific, or statistical code.
- For exact decimal math, use Python’s
decimal
module:
from decimal import Decimal
print(Decimal("0.1") + Decimal("0.2")) # Output: 0.3
- Integers are precise and safe for counting and indexing.
- Floats are great for measurements, but watch out for rounding errors.
- Use
type()
to check your data, anddecimal.Decimal
if you need exact results.
Performance Tips
- Use
//
for integer division—it’s faster and avoids float conversion. - Avoid unnecessary type conversions in loops.
- Profile your code with
timeit
for performance tuning.
Advanced Libraries
math
for standard operationsnumpy
for arrays and vectorized mathsympy
for symbolic math and number theory
Common Mistakes with Integers
"5" + 5
→ ❌ Error! You can’t mix strings and integers.7 / 2
→3.5
(float), but7 // 2
→3
(integer)-7 % 3
→2
(Python’s modulo keeps the remainder positive)
Final Thoughts
Integers are simple, but they power everything from basic scripts to advanced algorithms. Whether you’re building a calculator, a game, or a data pipeline, mastering integers is a must.
Start with type()
, practice arithmetic, and explore conversion and performance as you grow. Python makes it easy—and powerful.

integers integers integers integers integers integers