Data Types in Python

Learn about all the built-in data types in Python, including strings, numbers, booleans, sequences, sets, dictionaries, and more.

Loading...
Data Types in Python

Data types specify the kind of value a variable can hold. Python is a dynamically-typed language, meaning that you don’t need to declare a variable’s type explicitly; Python infers the type based on the assigned value.

To determine the type of a variable, you can use the built-in type() function.

Python’s Built-in Data Types

Python provides the following built-in data types:

  • Text type: str

    The string (str) data type is used for textual data. You can create a string by enclosing characters within single or double quotes.

    a = "Hello World!"
    print(type(a))
     
    #output: <class 'str'>
  • Numeric type: int, float, complex

    Python provides three types of numeric values:

    int: Integer numbers (positive or negative).

    float: Floating-point numbers (decimal numbers).

    complex: Complex numbers, with a real and imaginary part.

    a = 5 #int
    b = 5.5 #float
    c = 5j #complex
     
    print(type(a))  # Output: <class 'int'>
    print(type(b))  # Output: <class 'float'>
    print(type(c))  # Output: <class 'complex'>
  • Boolean type: bool

    The boolean (bool) data type is used to represent one of two possible values: True or False. It is commonly used in conditions and loops.

    a = True
    print(type(a))
     
    #output: <class 'bool'>
  • Sequence type: list ,tuple ,range

    Python has three built-in sequence types:

    list: Ordered, mutable collections of items (can hold different data types).

    tuple: Ordered, immutable collections of items.

    range: Represents a sequence of numbers, often used in for-loops.

    We will explore these data types in much more detail as we progress.

    a = ["one", "two", "three"] #list
    b = ("one", "two", "three") #tuple
    c = range(5) #range
     
    print(type(a))  # Output: <class 'list'>
    print(type(b))  # Output: <class 'tuple'>
    print(type(c))  # Output: <class 'range'>
  • Set type: set, frozenset

    Sets are unordered collections of unique items.

    set: Mutable set.

    frozenset: Immutable set.

    a = {"one", "two", "three"} #set
    b = frozenset({"one", "two", "three"}) #frozenset
     
    print(type(a))  # Output: <class 'set'>
    print(type(b))  # Output: <class 'frozenset'>
  • Mapping type: dict

    A dictionary (dict) is an unordered collection of key-value pairs. The keys must be unique, and the values can be any data type.

    a = {"name" : "John", "age" : 25}
    print(type(a))  # Output: <class 'dict'>
  • None type: NoneType

    The None type represents the absence of a value or a null value. It is commonly used to signify that a variable has no value assigned.

    a = None
    print(type(a))  # Output: <class 'NoneType'>
  • Binary types: bytes, bytearray, memoryview

    These types are used for handling binary data.

    bytes: Immutable sequence of bytes.

    bytearray: Mutable sequence of bytes.

    memoryview: A view object that references data in bytes or bytearray without copying.

    a = b"Hello"               # bytes  
    b = bytearray(b"Hello")    # bytearray
    c = memoryview(b"Hello")   # memoryview
     
    print(type(a))  # Output: <class 'bytes'>
    print(type(b))  # Output: <class 'bytearray'>
    print(type(c))  # Output: <class 'memoryview'>
     

Summary of Data Types in Python

Data Type Description Example
str String type for textual data "Hello World!"
int Integer type for whole numbers 5
float Float type for decimal numbers 5.5
complex Complex number type (real + imaginary part) 5j
bool Boolean type, represents True or False True or False
list Mutable sequence of items ["one", "two", "three"]
tuple Immutable sequence of items ("one", "two", "three")
range Sequence of numbers (usually used in loops) range(5)
set Unordered collection of unique items {"one", "two", "three"}
frozenset Immutable set frozenset({"one", "two", "three"})
dict Key-value pair collection {"name": "John", "age": 25}
NoneType Represents no value (None) None
bytes Immutable binary data b"hello"
bytearray Mutable binary data bytearray(b"hi")
memoryview View of binary data memoryview(b"hi")

Support my work!