Open In App

Primitive Data Types vs Non Primitive Data Types in Python

Last Updated : 28 Oct, 2025
Suggest changes
Share
Like Article
Like
Report

Python is a versatile, dynamic language. While it doesn’t explicitly categorize data types as “primitive” or “non-primitive” like Java, understanding these concepts helps organize and manage data efficiently.

Primitive Data Types

Primitive data types are the basic building blocks in Python. They store single values and are immutable, meaning their values cannot be changed after creation.

Examples:

Integer (int): whole numbers

x = 10

Float (float): decimal numbers

y = 10.5

Boolean (bool): True or False values

is_active = True

String (str): sequence of characters

name = "Alice"

Example Code

Python
x = 10 y = 10.5 is_active = True name = "Alice" print(type(x)) print(type(y)) print(type(is_active)) print(type(name)) 

Output

<class 'int'>
<class 'float'>
<class 'bool'>
<class 'str'>

Non-Primitive Data Types

Non-primitive data types can store multiple values or complex structures. They are generally mutable, meaning their contents can be changed.

Examples:

List (list) – ordered collection of items

numbers = [1, 2, 3, 4]

Tuple (tuple) – ordered collection, immutable but can store multiple items

coordinates = (10.0, 20.0)

Dictionary (dict) – collection of key-value pairs

person = {"name": "Alice", "age": 30}

Set (set) – unordered collection of unique items

unique_numbers = {1, 2, 3, 4}

Example Code:

Python
numbers = [1, 2, 3, 4] coordinates = (10.0, 20.0) person = {"name": "Alice", "age": 30} unique_numbers = {1, 2, 3, 4} print(type(numbers)) print(type(coordinates)) print(type(person)) print(type(unique_numbers)) 

Output

<class 'list'>
<class 'tuple'>
<class 'dict'>
<class 'set'>

Differences Between Primitive and Non-Primitive Data Types

Feature

Primitive Data Types

Non-Primitive Data Types

Mutability

Immutable

Mutable (tuple is immutable but non-primitive)

Data Representation

Represents a single value

Can represent multiple values or structured data

Example Types

int, float, bool, str

list, tuple, dict, set

Memory Allocation

Less memory, as they are simpler

More memory, can store complex data

Methods and Operations

Limited operations and methods

Rich set of methods and operations

Copying

Copying creates new instances

Can create shallow or deep copies

Use Case

Simple data, basic calculations

Complex data structures, collections

When to Use Primitive and Non-Primitive Data Types

Primitive:

  1. Simple data storage (numbers, booleans, strings)
  2. High-performance needs
  3. Basic operations (arithmetic, logic)

Non-Primitive:

  1. Store collections of data
  2. Need mutability for updates
  3. Represent complex relationships (e.g., dictionaries, sets, or tuples)

Article Tags :

Explore