Which Data Type Is Immutable Python?


Larry Thompson

Which Data Type Is Immutable in Python?

In Python, some data types are immutable, meaning their values cannot be changed once they are created. This concept is important to understand as it affects how you work with these data types and can have implications on your code’s performance and memory usage.

Immutable Data Types in Python

Here are the main data types in Python that are immutable:

  • Numeric Types: This includes integers, floats, and complex numbers. Once assigned, their values cannot be modified.

    For example:

  • a = 5
    a += 1
    print(a)  # Output: 6
    b = 3.14
    b -= 0.14
    print(b)  # Output: 3.0
    c = complex(2, 3)
    c.real = 5  # Raises an error as complex numbers are also immutable
  • Strings: Strings are sequences of characters and are immutable in Python. If you need to modify a string, you have to create a new string with the desired changes. For example:
  • name = "John"
    name += " Doe"
    print(name)  # Output: John Doe
    message = "Hello World"
    message[0] = 'h'  # Raises an error as strings are immutable
  • Tuples: Tuples are ordered collections of items enclosed in parentheses. They can contain elements of different data types and, once created, cannot be modified. For example:
  • tup = (1, 'a', True)
    tup[0] = 2   # Raises an error as tuples are immutable

Why Use Immutable Data Types?

Immutable data types offer several advantages:

  • Hashability: Immutable objects can be used as keys in dictionaries and elements in sets since their values cannot change. This allows for efficient hash-based lookups and comparisons.
  • Thread Safety: Immutable objects are inherently thread-safe since they cannot change once created.

    This makes them suitable for concurrent programming without the need for locks or synchronization.

  • Performance: Since immutable objects cannot be modified, Python can optimize memory usage by reusing existing objects instead of creating new ones. This can lead to improved performance, especially when dealing with large datasets.


In Python, numeric types, strings, and tuples are examples of immutable data types. Understanding the immutability of these data types is crucial for writing efficient and bug-free code. By utilizing immutable data types where appropriate, you can improve performance, ensure thread safety, and simplify your code.

Note: Other data types in Python, such as lists and dictionaries, are mutable and allow for modifications after creation.

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy