Python Data Types

Explore Python Data Types, including Numbers, Strings, Lists, Tuples, Sets, Dictionaries, Booleans, and more, with examples for clear understanding.

Python, renowned for its simplicity and ease of use, offers a wide range of data types to efficiently handle various kinds of data. In this blog, we will explore the fundamental data types in Python, providing a clear understanding of each to enhance your programming skills.

The following are the standard or built-in data types in Python:

  • Numeric
  • Sequence Type
  • Boolean
  • Set
  • Dictionary
  • Binary Types

What Is Python type() Function

The type() function in Python is a built-in function that returns the type of the specified object. It is commonly used to determine the data type of a variable or a value.

Characteristics of type() Function

  • Usage: The type() function takes one argument, an object, and returns its data type.
  • Return Value: It returns a type object, representing the type of the argument.

Examples of type() Function

Finding Type of Integer:

number = 10
print(type(number))  # Output: 

Finding Type of List:

my_list = [1, 2, 3]
print(type(my_list))  # Output: 

Finding Type of String:

greeting = "Hello, Python!"
print(type(greeting))  # Output: 

Finding Type of Custom Object:

class MyClass:
obj = MyClass()
print(type(obj))  # Output: 

The type() function is an essential tool in Python for identifying the data type of variables, especially useful in debugging, data validation, and writing functions that need to handle different data types dynamically.

Numeric Data Type In Python

Numeric data types in Python are used to store numeric values. They include integers, floats, and complex numbers.

1. Integers (int)

  • Description: Integers represent whole numbers, both positive and negative, without a decimal point.
  • Usage: Commonly used in various forms of counting, indexing, and mathematical operations.


positive_integer = 10
negative_integer = -5
print(type(positive_integer))  # Output: 
print(type(negative_integer))  # Output: 

2. Floating-Point Numbers (float)

  • Description: Floats represent real numbers and contain a decimal point. They can also be in exponential form.
  • Usage: Used when more precision is needed, like in scientific calculations or when working with fractions.


floating_number = 10.5
exponential_float = 1.2e3
print(type(floating_number))  # Output: 
print(type(exponential_float))  # Output: 

3. Complex Numbers (complex)

  • Description: Complex numbers have a real and an imaginary part, the latter being denoted with a 'j' suffix.
  • Usage: Primarily used in advanced mathematical calculations, like in engineering or physics contexts.


complex_number = 3 + 4j
print(type(complex_number))  # Output: 

Sequence Data Type In Python

Sequence data types in Python are used to store multiple items in an ordered, indexable manner. They include types like lists, tuples, and strings.

1. Lists

  • Description: Lists are mutable sequences, allowing changes after their creation.
  • Usage: Ideal for collections that are modified frequently.


my_list = [1, "Python", 3.14]
print(type(my_list))  # Output: 

2. Tuples

  • Description: Tuples are immutable sequences. Once created, their elements cannot be changed.
  • Usage: Suitable for fixed data sets.


my_tuple = (1, "Python", 3.14)
print(type(my_tuple))  # Output: 

3. Strings

  • Description: Strings are immutable sequences of Unicode characters.
  • Usage: Used for text representation.


my_string = "Hello, Python!"
print(type(my_string))  # Output: 

Sequence data types are fundamental in Python, offering versatile ways of storing and manipulating ordered collections. Understanding these types and their properties is crucial for effective Python programming.

Boolean Data Type in Python

The Boolean data type in Python, represented by bool, is used to store two possible value types: True or False. This data type is fundamental for conditional and control flow in Python programming.

Characteristics of Boolean Type

  • Binary Values: It can only take two values, True (equivalent to 1) or False (equivalent to 0).
  • Derived from Integers: In Python, Booleans are a subclass of integers.
  • Usage in Conditions: Primarily used in conditional statements like if, while, and for evaluating logical expressions.

Examples of Boolean Type

Direct Assignment:

is_active = True
print(type(is_active))  # Output: 

Logical Operations:

print(10 > 5)  # Output: True
print(10 == 5)  # Output: False

Using Booleans in Conditional Statements:

status = True
if status:
    print("Status is active.")  # Output: Status is active.
    print("Status is inactive.")

In Python, the Boolean data type is essential for making decisions and controlling the flow of the program based on conditions. It provides a clear and efficient way to evaluate expressions and manage program logic.

Set Data Type In Python

The Set data type in Python is an unordered collection of unique items. Sets are mutable, allowing the addition and removal of items, and are commonly used for mathematical operations like unions and intersections.

Characteristics of Set Type

  • Uniqueness: Automatically removes duplicate items.
  • Mutability: Items can be added or removed.
  • No Indexing: Sets do not support indexing or slicing due to their unordered nature.

Examples of Set Type

Creating a Set:

my_set = {1, 2, 3, 4, 5}
print(my_set)  # Output: {1, 2, 3, 4, 5}

Adding Elements:

print(my_set)  # Output: {1, 2, 3, 4, 5, 6}

Removing Duplicates:

duplicate_set = {1, 2, 2, 3, 4}
print(duplicate_set)  # Output: {1, 2, 3, 4}

Set Operations:

set_a = {1, 2, 3}
set_b = {3, 4, 5}
print(set_a.union(set_b))        # Output: {1, 2, 3, 4, 5}
print(set_a.intersection(set_b)) # Output: {3}

In Python, sets are a powerful data type, especially when dealing with large datasets requiring operations like membership testing, deduplication, and set-based operations. They enhance both the efficiency and readability of the code.

Dictionary Data Type In Python

The Dictionary data type in Python is an unordered collection of data values, used to store data values like a map. Unlike other Data Types that hold only a single value as an element, Dictionary holds a key:value pair. Key-value is provided in the dictionary to make it more optimized. Each key-value pair in a Dictionary is separated by a colon :, whereas each key is separated by a ‘comma’.

Characteristics of Dictionary Type

  • Key-Value Pair: Each element in a dictionary is represented as a key-value pair.
  • Mutable: You can change, add or delete dictionary elements.
  • Unordered: The elements are stored in an unordered way.

Examples of Dictionary Type

Creating a Dictionary:

my_dict = {"name": "John", "age": 30, "city": "New York"}
print(my_dict)  # Output: {'name': 'John', 'age': 30, 'city': 'New York'}

Accessing Elements:

print(my_dict["name"])  # Output: John

Adding Elements:

my_dict["email"] = "[email protected]"
print(my_dict)  # Output: {'name': 'John', 'age': 30, 'city': 'New York', 'email': '[email protected]'}

Modifying Elements:

my_dict["age"] = 31
print(my_dict["age"])  # Output: 31

Removing Elements:

del my_dict["email"]
print(my_dict)  # Output: {'name': 'John', 'age': 31, 'city': 'New York'}

Dictionaries in Python are versatile and widely used data types, especially effective in applications where data relationships and fast data lookup are crucial. They are an essential part of Python programming, offering a flexible and efficient means of data organization.

Python's data types are versatile and user-friendly, making the language suitable for a wide range of applications. Understanding these data types is crucial for effective programming, as they are the building blocks of Python code. Whether you're manipulating numbers, handling text, or organizing complex collections of data, Python's data types provide the necessary tools for efficient and effective programming.

You can also check these blogs:

  1. Python Strings