DEV Community

Cover image for Python Data Types – A Beginner’s Guide
Divya Dixit
Divya Dixit

Posted on

Python Data Types – A Beginner’s Guide

In our previous discussion, we explored variables—how they store different types of values in Python. Now, let's dive into data types, which define the kind of data stored in a variable.

Unlike languages such as Java, C, or C++, where you must explicitly declare a variable’s type, Python handles data types dynamically. This means you can directly assign a value to a variable without specifying its type.

What Are Data Types?

A data type not only defines the type of data stored in a variable but also determines the amount of memory allocated for that variable.

Common Data Types in Python

Python provides several built-in data types:

Integer (int) – Whole numbers, both positive and negative.

num1 = 23  
num2 = -232
Enter fullscreen mode Exit fullscreen mode

*Floating-point (float) *– Numbers with decimals.

num3 = 23.232  
num4 = -23.232  
Enter fullscreen mode Exit fullscreen mode

String (str) – Text enclosed in single or double quotes.

name = "Brian"  
blood_group = 'B'
Enter fullscreen mode Exit fullscreen mode

Character (char) – Python doesn’t have a separate char type like C or Java. Instead, a single-character string (e.g., 'A', 'B') is still a string.

Boolean (bool) – Represents True or False, often used in conditions.

is_greater = 10 > 3  # True  
is_adult = age >= 18  # True 
Enter fullscreen mode Exit fullscreen mode

Complex Numbers (complex)

Python has a built-in complex type, which is not commonly found in some languages.

num = 3 + 4j  # Complex number
print(type(num))  # Output: <class 'complex'>
Enter fullscreen mode Exit fullscreen mode

Checking Data Types and Memory Usage

Python provides the** type()** function to check the type of any variable:

print(type(232))       # Output: <class 'int'>  
print(type(23.232))    # Output: <class 'float'>  
print(type("Brian"))   # Output: <class 'str'>  
print(type(True))      # Output: <class 'bool'>
Enter fullscreen mode Exit fullscreen mode

To check the memory size of a variable, use sys.getsizeof():


import sys  
print(sys.getsizeof(232))       # Output: Memory size of int  
print(sys.getsizeof(23.232))    # Output: Memory size of float  
print(sys.getsizeof("Brian"))   # Output: Memory size of string 
Enter fullscreen mode Exit fullscreen mode

Memory Usage of Data Types

Different data types occupy different amounts of memory in Python.

Key Observations:

Integers (int) – Generally take 28 bytes, but the size can increase with larger numbers.
Floating-point numbers (float) – Usually 24 bytes, independent of the value.
Strings (str) – Memory depends on the length of the string. Each character takes extra space.
*Boolean (bool) *– Takes 28 bytes, same as an integer.

Note: Unlike C or Java, where int and float have fixed sizes (e.g., 4 bytes, 8 bytes), Python’s data types are dynamically sized. The actual memory usage can vary depending on the system and Python implementation.

Key Takeaways:

✔ Data types define both the type and memory usage of variables.
✔ Strings generally require more memory than integers or booleans.
✔ Use type() to check the data type and sys.getsizeof() to check memory allocation.
✔ Python dynamically assigns types without explicit declarations.

This flexibility makes Python beginner-friendly while keeping it powerful for complex applications. 🚀

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more