Thanks to theidioms.com

Learn Python For Data Science (Course I)

Learn Python For Data Science (Course I)

Data Types and Operations in Python

In this chapter, you will learn the various data types as well as operations used in Python.

A data type specifies the type of value a variable has and the kind of operations that can be applied to the variable.

Basic Data Types in Python

Python contains a number of data types to make it easier for programmers to write functional and replicable programs. The different data types used in Python are listed below:

Data TypeExample
str‘Apple’, ‘Ball’
int123, 66, 222
float2.4, 3.21, 4.666
list[‘Python’, ‘C’, ‘C++’], [‘Nepal’, ‘USA’]
tuple(‘Python’, ‘C’, ‘C++’), (‘Nepal’, ‘USA’)
set{‘a’, ‘b’, ‘c’}, {1,2,3,4}
dict{‘Name’:’John’}, {‘id’:1, ‘age’: 48}
boolTrue, False

You can also use the in-built type() function in Python to get the data type of an object.

# Example of using the type() function

# String
>>> type("Apple")
<class 'str'>

# Integer
>>> type(2)
<class 'int'>

# Float
>>> type(2.4)
<class 'float'>

# Set
>>> type({'asd','ert'})
<class 'set'>

Now, let us move onto discuss the characteristics of some common data types used in Python.

1. Strings (str)

Variables of type String in Python are surrounded by either single or double quotation marks. For example,

# Both variable1 and variable2 are strings

>>> variable1 = "Python" 
>>> variable2 = 'Python'

The examples demonstrated below showcases results from different types of string operations performed in Python.

# Adding two strings together results in string concatenation
>>> 'apple' + 'banana'
'applebanana'

# Multiplying a string by a number results in multiple concatenations of the same string
>>> 'apple' * 3
'appleappleapple'

#  Finding the length of the list using the in-built len() function
>>> len("apple")
5

2. Integers (int) and floats (float)

Integers in Python are numbers that do not have a decimal point in them. Floats (or floating-point numbers) in Python are numbers that have a decimal point in them. For example, the number 100 is an integer and the number 100.0 is a floating-point number in Python.

# variable1 is an integer
>>> variable1 = 1

# variable2 is a float
>>> variable2 = 1.0

The examples demonstrated below showcases results from different arithmetic operations performed using integers and floats in Python.

# Addition/subtraction of integers returns an integer
>>> 2 + 2    
4 

# Addition/subtraction of integer and float returns a floating point number
>>> 2 + 2.0
4.0 

# Division always returns a floating-point number
>>> 10 / 2
5.0 

# A floating-point number is accurate up to 15 decimal places
>>> 17 / 3  
5.666666666666667 

# Floor division discards the fractional part and return an integer
>>> 17 // 3  
5

# The % operator returns the remainder of the division
>>> 17 % 3  
2

# The ** operator returns x to the power of y. 
>>> 5 ** 2 # 5 to the power of 2
25

# Multiplication of variables
>>> width = 20
>>> height = 5 * 9
>>> width * height
900

# Use of different arithmetic operations may return an integer or a floating-point number
>>> 50 - 5*6    
20 

>>> (50 - 5*6) / 4  
5.0 

3. Lists (list)

Lists in Python are array sequences that store a collection of items of the same or different data types. The elements of a list are surrounded by square brackets [ ] and the item indexing starts at 0 which means that the first item of a list has an index of 0, the second item of a list has an index of 1 and so on.

# variable1 is a list of integers
>>> variable1 = [1, 2, 3, 4, 5]

# variable2 is a list storing different data types
>>> variable2 = [1.0, 2, 3, 4.0, '5']

The examples demonstrated below showcases results from different types of list operations performed in Python.

# squares is a list of integers
>>> squares = [1, 4, 9, 16, 25] 
>>> squares
[1, 4, 9, 16, 25] 

# Finding the length of the list using the in-built len() function
>>> len(squares) # gives length of list
5

# Accessing the items of a list based on the index of the item
>>> squares[0]  # 0 index fetches the first item
1
>>> squares[-1] # -1 index fetches the last item
25
>>> squares[-2] # -2 index fetches the second last item
16

# Slicing the list to get a selection of items 
>>> squares[1:]  # Fetching all elements starting from index 1
[4, 9, 16, 25]
>>> squares[2:]  # Fetching all elements starting from index 2
[9, 16, 25]
>>> squares[:1]  # Fetching all elements till and not including index 1
[1]
>>> squares[:2]  # Fetching all elements till and not including index 2
[1, 4]
>>> squares[:-2]  # Fetching all elements except the last two elements
[1, 4, 9]
>>> squares[1:3]  # Fetching all elements from index 1 to index 3
[4, 9]
>>> squares[:]  # Fetching all elements of the list
 [1, 4, 9, 16, 25] 

# Replacing an element of a list
>>> squares[3] = 12  # Assigning item at index 3 as 12
>>> squares
[1, 4, 9, 12, 25]
 
# Remove a range of values of the list
>>> squares[1:3] = [ ]  # Removing items at index 1 to 3
>>> squares
[1, 16, 25]

# Clear the list by replacing all the elements with an empty list
>>> squares[:] = [ ] 
>>> squares
[ ]

4. Tuples (tuple)

Tuples in Python are array sequences that store a collection of items of the same or different data types. The elements of a tuple are surrounded by round brackets, i.e, ( ). Tuples are similar to lists but unlike lists, the elements of a tuple cannot be changed after initialization.

# variable1 is a tuple of integers
>>> variable1 = (1, 2, 3, 4, 5)

# variable2 is a tuple storing different data types
>>> variable2 = (1.0, 2, 3, 4.0, '5')

The examples demonstrated below showcases results from different types of tuple operations performed in Python.

# Defining a tuple with integer values
>>> squares = (1, 4, 9, 16, 25) 
>>> squares
(1, 4, 9, 16, 25)               

# Finding the length of the tuple using the in-built len() function
>>> len(squares) # gives length of tuple 
5

# Accessing the items of a tuple based on the index of the item
>>> squares[0]  # 0 index fetches the first item
1
>>> squares[-1] # -1 index fetches the last item
25
>>> squares[-2] # -2 index fetches the second last item
16

# Slicing the tuple to get a selection of items 
>>> squares[1:]  # Fetching all elements starting from index 1
(4, 9, 16, 25)
>>> squares[2:]  # Fetching all elements starting from index 2
(9, 16, 25)
>>> squares[:1]  # Fetching all elements till and not including index 1
(1)
>>> squares[:2]  # Fetching all elements till and not including index 2
(1, 4)
>>> squares[:-2]  # Fetching all elements except the last two elements
(1, 4, 9)
>>> squares[1:3]  # Fetching all elements from index 1 to index 3
(4, 9)
>>> squares[:]  # Fetching all elements of a tuple 
 (1, 4, 9, 16, 25)

# Unlike lists, the elements of a tuple cannot be changed.
>>> squares[3] = 12
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

5. Dictionary (dict)

A dictionary in Python is a set of key-value pairs, with the requirement that the keys are unique (within one dictionary). The elements of a dictionary are surrounded by curly brackets, i.e, { }.

# variable1 is a dictionary
>>> variable1 = {'key1' : 'value1', 'key2' : 'value2'}

The examples demonstrated below showcases results from different types of dictionary operations performed in Python.

# Defining a dictionary
>>> costs_dict = {'Kitkat':1300, 'Unicorn':1800, 'Chocolateroll':1000, 'Barbiedoll':3600, 'MickeyMouse':3600, 'Doraemon':1800} 
>>> costs_dict
{'Kitkat': 1300, 'Unicorn': 1800, 'Chocolateroll': 1000, 'Barbiedoll': 3600, 'MickeyMouse': 3600, 'Doraemon': 1800}

# Printing value from given key
>>> cost_doraemon_cake = costs_dict['Doraemon'] 
>>> cost_doraemon_cake 
1800

# Inserting new key value pair
>>> costs_dict['PeppaPig '] = 1800
>>> costs_dict
{'Kitkat': 1300, 'Unicorn': 1800, 'Chocolateroll': 1000, 'Barbiedoll': 3600, 'MickeyMouse': 3600, 'Doraemon': 1800, 'PeppaPig ': 1800}

# Removing key value pair
>>> del costs_dict['Doraemon']
>>> costs_dict
{'Kitkat': 1300, 'Unicorn': 1800, 'Chocolateroll': 1000, 'Barbiedoll': 3600, 'MickeyMouse': 3600, 'PeppaPig ': 1800}

# Replacing the value for a given key
>>> costs_dict['Unicorn'] = 3800
>>> costs_dict
{'Kitkat': 1300, 'Unicorn': 3800, 'Chocolateroll': 1000, 'Barbiedoll': 3600, 'MickeyMouse': 3600, 'Doraemon': 1800, 'PeppaPig ': 1800}

# Convert the key to list
>>> cake_items = list(costs_dict)
>>> cake_items
['Kitkat', 'Unicorn', 'Chocolateroll', 'Barbiedoll', 'MickeyMouse', 'PeppaPig ']

6. Sets (set)

A set in Python consists of an unordered collection of non-duplicated elements. Set objects also support mathematical operations like union, intersection, difference, and symmetric difference. The elements of a set are surrounded by curly brackets, i.e, { } but they do not exist in key-value pairs like in a dictionary.

# variable1 is a set
>>> variable1 = {1, 2, 3, 4, 5}

The examples demonstrated below showcases results from different types of set operations performed in Python.

# Defining a set
>>> cake_items = {'Kitkat', 'Unicorn', 'Chocolateroll', 'Barbiedoll', 'MickeyMouse', 'Doraemon'}
>>> cake_items
{'Chocolateroll', 'MickeyMouse', 'Kitkat', 'Doraemon', 'Unicorn', 'Barbiedoll'}

# Fast membership testing
>>> 'Doraemon' in cake_items
True
>>> 'Ogge' in cake_items
False

# Creating a set called 'A' from a string using the in-built set() function
>>> A = set('aezakmi')
>>> A
{'k', 'm', 'z', 'e', 'i', 'a'}

# Creating a set called 'B' from a string using the in-built set() function
>>> B = set('alacazam')
>>> B
{'l', 'm', 'z', 'c', 'a'}

# Letters in A but not in B
>>> print("A-B:", A-B)
A-B: {'k', 'i', 'e'}

# Letters in A or B or both
>>> print("A|B:", A|B)
A|B: {'k', 'l', 'm', 'e', 'z', 'c', 'i', 'a'}

# Letters in both A and B
>>> print("A&B:", A&B)
A&B: {'a', 'z', 'm'}

# Letters in A or B but not both
>>> print("A^B:", A^B)
A^B: {'k', 'l', 'c', 'e', 'i'}

This chapter concludes the basics of data types and operations in Python. In the next chapter, we will be discussing about the various Control Flow Tools in Python.

Leave your thought here

Your email address will not be published. Required fields are marked *

Close Bitnami banner
Bitnami