1. Home

Python Tutorials - Elevate Your Coding Skills with Comprehensive Tutorials

Discover Python tutorials covering everything from the basics to advanced topics. Whether you're new to programming or looking to level up your skills, our tutorials will guide you every step of the way

• 201 Lessons
• 33 Hours
22

# Data Types in Python

Updated on 19/07/20245,768 Views

## Introduction

In this tutorial, we will dive deep into the rich world of data types in Python. As Python has gained traction in multiple domains, from web development to data science, understanding its data types becomes crucial. These data types form the foundational elements of Python, and mastery over them paves the way for advanced programming.

Let’s embark on this enlightening journey!

## Overview

Python, a dynamic and multifaceted programming language, boasts a comprehensive assortment of data types tailored to cater to diverse applications and user needs. Whether you are working on web development, data analysis, artificial intelligence, or just basic scripting, understanding these data types in Python becomes imperative. Ranging from the simple numeric and sequence types to the advanced binary and memory types, Python furnishes programmers with the tools needed for efficient coding and problem-solving.

Dive in to explore these data building blocks!

## What are the Standard Data Types?

Python, being a versatile and modern language, introduces an assortment of standard data types. These data types in Python form the building blocks of the language, empowering developers to craft efficient and diverse applications. Grasping these is pivotal for any Python enthusiast. Let's delve deep into each of these data types.

### Numeric

Python data types are fundamental and cater to various mathematical needs:

• Integer (int):
• Represents both positive and negative whole numbers.
• Examples: 0, -5, 8, 20.
• Floating point (float):
• Signifies decimal numbers.
• Allows for greater precision.
• Examples: 0.5, -3.14, 2.71.
• Complex (complex):
• Comprises a real and an imaginary component.
• Used for complex mathematical operations.
• Format: x + yj (where x is the real part and y is the imaginary).
• Example: 3 + 4j.

### Sequence Type

Sequences in Python are ordered collections. These are quintessential and exhibit different properties:

• String (str):
• An ordered collection of characters.
• Enclosed within quotes.
• Examples: "Python", "Hello".
• List (list):
• An ordered collection of items.
• Items can be heterogeneous (of different types).
• Mutable - items can be changed.
• Examples: [1, 2, 3], ['a', 'b', 'c'].
• Tuple (tuple):
• Resembles a list but has immutability.
• Useful for fixed collections.
• Examples: (1, 2, 3), ('apple', 'banana').
• Range (range):
• Generates a sequence of numbers based on start, stop, and step values.
• Widely used in loops.

### Boolean

Captures the essence of logical operations:

• True: Represents the positive truth value.
• False: Represents the negative truth value.

### Set

#### Set Types

Dealing with unique collection items:

• Set (set):
• Unordered collection with no duplicate entries.
• Examples: {1, 2, 3}, {"apple", "banana"}.
• Frozen set (frozenset):
• Holds the properties of sets.
• Immutable, hence hashable.

### Dictionary

For associating keys with values:

• Dictionary (dict):
• Collection of key-value pairs.
• Keys are unique.
• Examples: {"name": "John", "age": 30}, {"fruit": "apple", "color": "red"}.

### Binary Types( memoryview, bytearray, bytes)

#### Binary Types

Manipulate binary data:

• Bytes (bytes):
• Immutable sequence.
• Represents a group of byte numbers.
• Byte Array (bytearray):
• Mutable counterpart of bytes.
• Useful for in-place modifications.
• Memory View (memoryview):
• Exposes an object's buffer interfaces.
• Used for accessing the internal data of an object without copying.

## What is Python type() Function?

Code:

`x = 5y = "Hello, World!"z = [1, 2, 3]print(type(x))  # Output: <class 'int'>print(type(y))  # Output: <class 'str'>print(type(z))  # Output: <class 'list'>`

## Describe the Numeric Data Type in Python

Code:

`# Integerx = 5print("Integer:", x)print("Type of x:", type(x))# Floating-point numbery = 3.14print("Float:", y)print("Type of y:", type(y))# Complex numberz = 2 + 3jprint("Complex:", z)print("Type of z:", type(z))`

## Sequence Data Types in Python

Code:

`# Stringstring_sequence = "Hello, World!"print("String:", string_sequence)print("Type of string_sequence:", type(string_sequence))# Listlist_sequence = [1, 2, 3, 4, 5]print("List:", list_sequence)print("Type of list_sequence:", type(list_sequence))# Tupletuple_sequence = (10, 20, 30, 40, 50)print("Tuple:", tuple_sequence)print("Type of tuple_sequence:", type(tuple_sequence))# Rangerange_sequence = range(5)print("Range:", list(range_sequence))print("Type of range_sequence:", type(range_sequence))`

## Accessing Elements of String

Code:

`string = "Hello, World!"# Accessing individual characters using positive indexingfirst_character = string[0]second_character = string[1]last_character = string[-1]  # Equivalent to string[len(string) - 1]print("First character:", first_character)print("Second character:", second_character)print("Last character:", last_character)substring = string[7:12]  # Extracts "World"every_other_character = string[::2]  # Extracts "Hlo ol!"reversed_string = string[::-1]  # Reverses the stringprint("Substring:", substring)print("Every other character:", every_other_character)print("Reversed string:", reversed_string)`

## List Data Type

### Creating List

Code:

`L = []print("Initial blank List: ")print(L)L = ['upGradTutorial!']print("\nList with the use of String: ")print(L)L = ["up", "Grad", "Tutorial!"]print("\nList with multiple values: ")print(L[0])print(L[1])L = [['up', 'Grad'], ['Tutorial!']]print("\nMulti-Dimensional List: ")print(L)`

### Python Access List Items

Code:

`List = ["up", "Grad", "Tutorial!"]print("Accessing element from the list")print(List[0])print(List[1])print("Accessing element using negative indexing")print(List[-1])print(List[-2])`

## Tuple Data Type

### Creating a Tuple

Code:

`# Creating a tuplefruits = ("apple", "banana", "cherry", "date", "elderberry")# Accessing elements by indexfirst_fruit = fruits[0]second_fruit = fruits[1]# Accessing elements using negative indexinglast_fruit = fruits[-1]# Counting the occurrences of an elementnum_cherries = fruits.count("cherry")# Getting the index of an elementindex_of_date = fruits.index("date")# Creating a new tuple by slicingselected_fruits = fruits[1:4]# Printing the resultsprint("Fruits:", fruits)print("First fruit:", first_fruit)print("Second fruit:", second_fruit)print("Last fruit:", last_fruit)print("Number of cherries:", num_cherries)print("Index of 'date':", index_of_date)print("Selected fruits:", selected_fruits)`

### Access Tuple Items

Code:

`# Creating a tuplefruits = ("apple", "banana", "cherry", "date", "elderberry")# Accessing elements by indexfirst_fruit = fruits[0]second_fruit = fruits[1]third_fruit = fruits[2]# Accessing elements using negative indexinglast_fruit = fruits[-1]second_last_fruit = fruits[-2]# Printing the resultsprint("First fruit:", first_fruit)print("Second fruit:", second_fruit)print("Third fruit:", third_fruit)print("Last fruit:", last_fruit)print("Second last fruit:", second_last_fruit)`

## Boolean Data Type in Python

Code:

`# Boolean valuesis_true = Trueis_false = False# Logical operationsresult_and = is_true and is_false  # Logical ANDresult_or = is_true or is_false    # Logical ORresult_not = not is_true           # Logical NOT# Comparisonsgreater_than = 5 > 3less_than = 2 < 1equal_to = 10 == 10not_equal = 5 != 8# Conditional statementsif is_true:    print("It's true!")else:    print("It's false.")if greater_than:    print("5 is greater than 3.")if less_than:    print("2 is less than 1.")else:    print("2 is not less than 1.")# Printing the resultsprint("Result of AND:", result_and)print("Result of OR:", result_or)print("Result of NOT:", result_not)print("Greater than:", greater_than)print("Less than:", less_than)print("Equal to:", equal_to)print("Not equal:", not_equal)`

## Set Data Type in Python

### Create a Set in Python

Code:

`s = set()print("Initial blank Set: ")print(s)s = set("upGradTutorial!")print("\nSet with the use of String: ")print(s)s = set(["up", "Grad", "Tutorial!"])print("\nSet with the use of List: ")print(s)s = set([1, 2, 'up', 4, 'Grad', 6, 'Tutorial!'])print("\nSet with the use of Mixed Values")print(s)`

### Access Set Items

Code:

`s1 = set(["up", "Grad", "Tutorial!"])print("Initial set")print(s1)print("\nElements of set: ")for i in s1:print(i, end=" ")print("up" in s1)`

## Dictionary Data Type in Python

### Create a Dictionary

Code:

`Dict = {}print("Empty Dictionary: ")print(Dict)Dict = {1: 'up', 2: 'Grad', 3: 'Tutorial!'}print("\nDictionary with the use of Integer Keys: ")print(Dict)Dict = {'Name': 'up', 1: [1, 2, 3, 4]}print("\nDictionary with the use of Mixed Keys: ")print(Dict)Dict = dict({1: 'up', 2: 'Grad', 3: 'Tutorial!'})print("\nDictionary with the use of dict(): ")print(Dict)Dict = dict([(1, 'up'), (2, 'Grad')])print("\nDictionary with each item as a pair: ")print(Dict)`

### Accessing Key-value in Dictionary

Code:

`D = {1: 'up', 'name': 'Grad', 3: 'Tutorial!'}print("Accessing a element using key:")print(D['name'])print("Accessing a element using get:")print(D.get(3))`

## Example of Using Different Data Types in Python

Code:

`# Numeric data typesinteger_number = 5float_number = 3.14complex_number = 2 + 3j# String data typetext = "Hello, World!"# Boolean data typeis_true = Trueis_false = False# List data typefruits = ["apple", "banana", "cherry"]# Tuple data typecoordinates = (10, 20)# Set data typeunique_numbers = {1, 2, 3, 4, 5}# Dictionary data typeperson = {"name": "John", "age": 25, "city": "New York"}# Printing the values and their typesprint(integer_number, type(integer_number))print(float_number, type(float_number))print(complex_number, type(complex_number))print(text, type(text))print(is_true, type(is_true))print(is_false, type(is_false))print(fruits, type(fruits))print(coordinates, type(coordinates))print(unique_numbers, type(unique_numbers))print(person, type(person))`

## Conclusion

Diving into Python's data types, we've covered the essentials that shape our coding projects. Now, with this foundation, navigating Python becomes much smoother. As this tutorial concludes, remember that the world of programming is ever-evolving, urging us to keep learning. For those keen on enhancing their Python expertise, consider exploring courses by upGrad. Every step in your learning journey is significant, and having the right guidance makes all the difference.

## FAQs

1. Are lists mutable in Python?

In Python, lists are indeed mutable. This characteristic allows programmers to modify, add, or delete items from a list even after its initial creation. This adaptability makes lists a versatile data structure, especially when data needs constant updates or modifications.

2. What's the difference between tuples and lists?

Both tuples and lists are sequence types in Python. The primary distinction lies in their mutability. Lists can be altered after creation, offering dynamic modification capabilities. In contrast, tuples are immutable, meaning once they are created, their content remains static and cannot be changed, which can be advantageous for ensuring data consistency.

3. Can dictionaries hold multiple data types?

Absolutely! Dictionaries in Python are incredibly flexible. They can store key-value pairs where values can be of varied data types, including integers, strings, lists, or even other dictionaries and objects. This multifaceted nature of dictionaries makes them ideal for representing structured data in diverse scenarios.

4. How is the range data type commonly used?

The range data type in Python is predominantly employed in loops, especially the 'for' loop. It generates a sequence of numbers, which can dictate how many times the loop will iterate. This is particularly useful when an action needs repetition over a fixed set of iterations, ensuring code conciseness and efficiency.

5. What is the role of the complex data type in Python?

In Python, the complex data type provides a means to represent numbers that comprise both a real and an imaginary component. This capability is particularly vital in domains like engineering and mathematics, where complex number operations and computations are frequent. Python's innate support for this data type facilitates intricate mathematical tasks with ease.

Director of Engineering

Director of Engineering @ upGrad. Motivated to leverage technology to solve problems. Seasoned leader for startups and fast moving orgs. Working …Read More

###### Need More Help? Talk to an Expert
+91
*
By clicking, I accept theT&Cand
Join 10M+ Learners & Transform Your Career
Learn on a personalised AI-powered platform that offers best-in-class content, live sessions & mentorship from leading industry experts.

Talk to our experts. We’re available 24/7.

Indian Nationals

1800 210 2020

Foreign Nationals

+918045604032

## Disclaimer

upGrad does not grant credit; credits are granted, accepted or transferred at the sole discretion of the relevant educational institution offering the diploma or degree. We advise you to enquire further regarding the suitability of this program for your academic, professional requirements and job prospects before enr...