What Is an Integer in Python?

An integer in Python is a whole number. It does not have a decimal point.

Examples of integers:

  • -3
  • 0
  • 7
  • 42

In Python, the type name for an integer is int.

If you are new to Python, integers are one of the most common data types in Python. You will use them for counting, indexing, loops, and simple math.

Definition

An integer is:

  • A whole number
  • A number with no decimal point
  • A value stored as the int type in Python

Examples:

a = 10
b = 0
c = -25

print(type(a))
print(type(b))
print(type(c))

Output:

<class 'int'>
<class 'int'>
<class 'int'>

What counts as an integer

These are integers:

  • Positive whole numbers like 1, 5, and 100
  • Negative whole numbers like -1 and -20
  • Zero, which is 0

These are not integers:

  • 3.5
  • 0.0
  • -2.75

Those values are decimal numbers, which Python usually stores as floats.

How Python shows integer type

You can check a value's type with the type() function.

print(type(5))
print(type(-8))
print(type(0))

Output:

<class 'int'>
<class 'int'>
<class 'int'>

This is useful when you are not sure what kind of value you have.

For example:

value = 12
print(value)
print(type(value))

Output:

12
<class 'int'>

If you want to learn more, see the Python type() function explained.

Common places integers are used

Beginners often use integers in these situations:

  • Counting items
  • Looping with range()
  • Using list indexes
  • Doing simple math

Example:

apples = 4
print(apples + 2)

for i in range(3):
    print(i)

colors = ["red", "green", "blue"]
print(colors[1])

Output:

6
0
1
2
green

What is happening here:

  • apples = 4 stores an integer
  • range(3) uses integers to control the loop
  • colors[1] uses the integer 1 as a list index

Integer example ideas

Here are some simple beginner examples.

Store age in a variable

age = 15
print(age)
print(type(age))

Output:

15
<class 'int'>

Count how many times a loop runs

for count in range(5):
    print("Loop number:", count)

Output:

Loop number: 0
Loop number: 1
Loop number: 2
Loop number: 3
Loop number: 4

Access a list item by index

letters = ["a", "b", "c"]
print(letters[2])

Output:

c

Convert user input with int() when needed

The input() function returns text, not a number.

text = input("Enter your age: ")
age = int(text)

print(age)
print(type(age))

If the user enters 12, the output will be:

12
<class 'int'>

To learn more, see the Python input() function explained and Python int() function explained.

Integer vs float

An integer has no decimal part. A float can store decimal numbers.

Examples:

  • 5 is an integer
  • 5.0 is a float
  • 3.14 is a float
print(type(5))
print(type(5.0))
print(type(3.14))

Output:

<class 'int'>
<class 'float'>
<class 'float'>

Use the right type for the data you need:

  • Use int for counting whole things
  • Use float for values with decimals

For a bigger overview, see Python numbers explained: int, float, complex.

A very common mistake is thinking that input() gives you an integer automatically. It does not. It gives you a string.

value = input("Enter a number: ")

print(value)
print(type(value))

If the user enters 12, the output will be:

12
<class 'str'>

To turn numeric text into an integer, use int():

value = input("Enter a number: ")
number = int(value)

print(number)
print(type(number))

If the user enters 12, the output will be:

12
<class 'int'>

But invalid text cannot be converted:

value = "hello"
number = int(value)

This causes an error because "hello" is not a valid integer. If you run into that problem, see ValueError: invalid literal for int() with base 10.

Common mistakes

Beginners often get confused about integers in these ways:

  • Thinking numbers with decimals are integers
  • Assuming input() returns an integer automatically
  • Mixing strings and integers in calculations
  • Using a float where Python expects an integer
  • Confusing the int type with the int() conversion function

These quick checks can help:

print(value)
print(type(value))
print(isinstance(value, int))

What they do:

  • print(value) shows the current value
  • print(type(value)) shows its type
  • print(isinstance(value, int)) tells you whether it is an integer

Example:

value = 7
print(value)
print(type(value))
print(isinstance(value, int))

Output:

7
<class 'int'>
True

FAQ

Is 0 an integer in Python?

Yes. Zero is an integer.

Is 5.0 an integer?

No. 5.0 is a float because it has a decimal form.

How do I convert text to an integer in Python?

Use int(), such as:

number = int("5")
print(number)

What is the Python type for integers?

The type name is int.

Can integers be negative?

Yes. Values like -1 and -20 are integers.

See also