Skip to main content

Built-in Data Types

Data types are a key idea in programming.

A variable can hold many kinds of data, and what you can do with a value depends on its type.

Out of the box, Python comes with these data types, grouped by category:

Built-in data types by category

main.py
# Text Type:      str
# Numeric Types:  int, float, complex
# Sequence Types: list, tuple, range
# Mapping Type:   dict
# Set Types:      set, frozenset
# Boolean Type:   bool
# Binary Types:   bytes, bytearray, memoryview
# None Type:      NoneType

Getting the Data Type

Pass any object to the type() function to find out its data type.

Example

Show the data type of x:

Prompt
Write a Python program that creates a variable x with value 5 and prints its data type using the type() function.
Output: complete Python program

Setting the Data Type

Python decides a variable's data type at the moment you assign it a value:

Setting data type by assignment

main.py
x = "Hello World"                         # str
x = 20                                    # int
x = 20.5                                  # float
x = 1j                                    # complex
x = ["apple", "banana", "cherry"]         # list
x = ("apple", "banana", "cherry")         # tuple
x = range(6)                              # range
x = {"name" : "John", "age" : 36}         # dict
x = {"apple", "banana", "cherry"}         # set
x = frozenset({"apple", "banana", "cherry"}) # frozenset
x = True                                  # bool
x = b"Hello"                              # bytes
x = bytearray(5)                          # bytearray
x = memoryview(bytes(5))                  # memoryview
x = None                                  # NoneType

Setting the Specific Data Type

When you want to choose the data type yourself, use one of these constructor functions:

Setting specific data type with constructors

main.py
x = str("Hello World")                    # str
x = int(20)                               # int
x = float(20.5)                           # float
x = complex(1j)                           # complex
x = list(("apple", "banana", "cherry"))   # list
x = tuple(("apple", "banana", "cherry"))  # tuple
x = range(6)                              # range
x = dict(name="John", age=36)             # dict
x = set(("apple", "banana", "cherry"))    # set
x = frozenset(("apple", "banana", "cherry")) # frozenset
x = bool(5)                               # bool
x = bytes(5)                              # bytes
x = bytearray(5)                          # bytearray
x = memoryview(bytes(5))                  # memoryview