Python Report
Python Report
Python Report
Submitted to:
Mr. Pradeep Jha
Head of Dept.
Department of Computer Science & Engineering
GLOBAL INSTITUTE OF TECHNOLOGY
JAIPUR (RAJASTHAN)-302022
SESSION: 2022-23
Acknowledgement
I take this opportunity to express my deep sense of gratitude to my coordinator Ms. Anu
Kumawat, Assistant Professor Department of Computer Science and Engineering, Global
Institute of Technology, Jaipur, for her valuable guidance and cooperation throughout the
Practical Training work. She provided constant encouragement and unceasing enthusiasm at
every stage of the Practical Training work.
We are grateful to our respected Dr. I. C. Sharma, Principal GIT for guiding us during
Practical Training period
We express our indebtedness to Mr. Pradeep Jha, Head of Department of Computer Science
and Engineering, Global Institute of Technology, Jaipur for providing me ample support during
my Practical Training period.
Without their support and timely guidance, the completion of our Practical Training would have
seemed a farfetched dream. In this respect we find ourselves lucky to have mentors of such great
potential.
Sarthak Tripathi
21EGJCS130
B.Tech. III Semester, II Year, CS
Abstract
Python is a modern, easy-to-learn, object-oriented programming language. It has a powerful set
of built-in data types and easy-to-use control constructs. Since Python is an interpreted language,
it is most easily reviewed by simply looking at and describing interactive sessions. It is used in a
vast number of applications due to the various standard libraries that come along with it and its
capacity to integrate with other languages and use their features. Python can be used for
scripting, web scraping, and creating data sets. It’s popular in the scientific community for
scientific computing; there are libraries that make it easy to share academic code projects in
Python. Python is a web programming language, so it interfaces with the internet. It knows how
to receive and send web requests and talk to databases. This paper describes the main features of
Python programming, loops and control statements in python then discusses applications of
Python programming.
Python for Data Science
Table Of Contents
Chapter-1 : Introduction
➔ Python
➔ Scripting Language
➔ Object Oriented Programming
➔ History of python
➔ Behind the Scene of Python
6
Python for Data Science
6
Python for Data Science
List of Figures
Chapter-1
Figure 1:Guido van Rossum
Chapter-2
Figure 2:Download Process
Chapter-3
Figure 13: Output for Program
Chapter-4
Figure 16: List Indexing and Slicing
7
Session 2022-23
Python for Data Science
List of Tables
Chapter-3
Table 1: String Operators
Chapter-4
Table 5: Basic Tuple Operations
Chapter-5
Table 10: Loops in Python
Table 11: Conditional Statements
7
Session 2022-23
Python for Data Science
Chapter - 1
INTRODUCTION: Python
Python is a widely used high-level, general-purpose, interpreted, dynamic programming
language. Its design philosophy emphasizes code readability, and its syntax allows programmers
to express concepts in fewer lines of code than would be possible in languages such as C++ or
Java. The language provides constructs intended to enable clear programs on both a small and
large scale.
Python supports multiple programming paradigms, including object-oriented, imperative and
functional programming or procedural styles. It features a dynamic type system and automatic
memory management and has a large and comprehensive standard library. Python interpreters are
available for installation on many operating systems, allowing Python code execution on a wide
variety of systems.
Scripting Language
A scripting or script language is a programming language that supports scripts, programs written
for a special run-time environment that automate the execution of tasks that could alternatively
be executed one-by-one by a human operator.
Scripting languages are often interpreted (rather than compiled). Primitives are usually the
elementary tasks or API calls, and the language allows them to be combined into more complex
programs. Environments that can be automated through scripting include software applications,
web pages within a web browser, the shells of operating systems (OS), embedded systems, as
well as numerous games.
A scripting language can be viewed as a domain-specific language for a particular environment;
in the case of scripting an application, this is also known as an extension language. Scripting
languages are also sometimes referred to as very high-level programming languages, as they
operate at a high level of abstraction, or as control languages.
7
Session 2022-23
Python for Data Science
History
Python was conceived in the late 1980s, and its implementation was started in December 1989 by Guido
van Rossum at CWI in the Netherlands as a successor to the ABC language (itself inspired by SETL)
capable of exception handling and interfacing with the Amoeba operating system. Van Rossum is
Python's principal author, and his continuing central role in deciding the direction of Python is reflected in
the title given to him by the Python community, benevolent dictator for life (BDFL).
“Python is an experiment in how much freedom programmers need. Too much freedom and
nobody can read another's code; too little and expressiveness is endangered.”
8
Python for Data Science
9
Python for Data Science
Chapter-2
DOWNLOADING PYTHON
If you don’t already have a copy of Python installed on your computer, you will need to open up
your Internet browser and go to the Python download page (http://www.python.org/download/).
Now that you are on the download page, select which of the software builds you would like to
download. For the purposes of this article we will use the most up to date version available
(Python 3.4.1).
10
Python for Data Science
Now you will scroll all the way to the bottom of the page and find the “Windows x86 MSI
installer.” If you want to download the 86-64 bit MSI, feel free to do so. We believe that even if
you have a 64-bit operating system installed on your computer, the 86-bit MSI is preferable. We
say this because it will still run well and sometimes, with the 64-bit architectures, some of the
compiled binaries and Python libraries don’t work well.
Installing Python
Once you have downloaded the Python MSI, simply navigate to the download location on your
computer, double clicking the file and pressing Run when the dialog box pops up.
If you are the only person who uses your computer, simply leave the “Install for all users” option
selected. If you have multiple accounts on your PC and don’t want to install it across all
accounts, select the “Install just for me” option then press “Next.”
11
Python for Data Science
12
Python for Data Science
If you want to change the install location, feel free to do so; however, it is best to leave it as is
and simply select next, Otherwise...
Scroll down in the window and find the “Add Python.exe to Path” and click on the small red “x.”
Choose the “Will be installed on local hard drive” option then press “Next.”
Now that you have completed the installation process, click on “Finish.
12
Python for Data Science
Simply enter a name for your Path and the code shown below. For the purposes of this example
we have installed Python 2.7.3, so we will call the path: “Pythonpath.” The string that you will
need to enter is: “C:\Python27\;C:\Python27\Scripts;”
13
Python for Data Science
14
Python for Data Science
Once the GUI is open, we will begin by using the simplest directive possible. This is the “print”
directive which simply prints whatever you tell it to, into a new line. Start by typing a print
directive like the one shown in the image below or copy and paste this text then press
“Enter”: print (“Congratulations on executing your first print directive!”)
Session 2022-23
Python for Data Science
Chapter - 3
Data Type
Data types determine whether an object can do something, or whether it just would not make
sense. Other programming languages often determine whether an operation makes sense for an
object by making sure the object can never be stored somewhere where the operation will be
performed on the object (this type system is called static typing). Python does not do that. Instead
it stores the type of an object with the object, and checks when the operation is performed
whether that operation makes sense for that object
Python has many native data types. Here are the important ones:
Booleans are either True or False.
Numbers can be integers (1 and 2), floats (1.1 and 1.2), fractions (1/2 and 2/3), or even
complex numbers.
Strings are sequences of Unicode characters, e.g. an HTML document.
Bytes and byte arrays, e.g. a JPEG image file.
Lists are ordered sequences of values.
Tuples are ordered, immutable sequences of values.
Sets are unordered bags of values.
Variable
Variables are nothing but reserved memory locations to store values. This means that when you
create a variable you reserve some space in memory.
Based on the data type of a variable, the interpreter allocates memory and decides what can be
stored in the reserved memory. Therefore, by assigning different data types to variables, you can
store integers, decimals or characters in these variables.
Session 2022-23
Python for Data Science
String
In programming terms, we usually call text a string. When you think of a string as a collection of
letters, the term makes sense.
All the letters, numbers, and symbols in this book could be a string. For that matter, your name
could be a string, and so could your address.
Python string is the collection of the characters surrounded by single quotes, double quotes, or
triple quotes. The computer does not understand the characters; internally, it stores manipulated
character as the combination of the 0's and 1's.
Each character is encoded in the ASCII or Unicode character. So we can say that Python strings
are also called the collection of Unicode characters.
In Python, strings can be created by enclosing the character or the sequence of characters in the
quotes. Python allows us to use single quotes, double quotes, or triple quotes to create the string.
We can create a string by enclosing the characters in single-quotes or double- quotes. Python also
provides triple-quotes to represent the string, but it is generally used for multiline string
or docstrings.
Session 2022-23
Python for Data Science
Output:
Hello Python
Hello Python
Triple quotes are generally used for
represent the multiline or
docstring
Figure 13: Output for Program
Session 2022-23
Python for Data Science
str = "HELLO"
print(str[0])
print(str[1])
print(str[2])
print(str[3])
print(str[4])
print(str[6])
As shown in Python, the slice operator [] is used to access the individual characters of the string.
However, we can use the : (colon) operator in Python to access the substring from the given string.
Consider the following example.
Session 2022-23
Python for Data Science
Here, we must notice that the upper range given in the slice operator is always exclusive i.e., if
str = 'HELLO' is given, then str[1:3] will always include str[1] = 'E', str[2] = 'L' and nothing else.
Reassigning Strings
Updating the content of the strings is as easy as assigning it to a new string. The string object
doesn't support item assignment i.e., A string can only be replaced with new string since its
content cannot be partially replaced. Strings are immutable in Python.
Session 2022-23
Python for Data Science
str = "HELLO"
str[0] = "h"
print(str)
Following program show to assign new string as strings are immutable in python.
str = "HELLO"
print(str)
str = "hello"
print(str)
Output:
HELLO
hello
String Operators
Operator Description
+ It is known as a concatenation operator used to join the strings given either
side of the operator.
* It is known as a repetition operator. It concatenates multiple copies of the
same string.
[] It is known as a slice operator. It is used to access the sub-strings of a
particular string.
[:] It is known as a range slice operator. It is used to access the characters from
the specified range.
in It is known as a membership operator. It returns if a particular substring is
present in the specified string.
Session 2022-23
Python for Data Science
not in It is also a membership operator and does the exact reverse of in. It returns
true if a particular substring is not present in the specified string.
r/R It is used to specify the raw string. Raw strings are used in the cases where
we need to print the actual meaning of escape characters such as
"C://python". To define any string as a raw string, the character r or R is
followed by the string.
% It is used to perform string formatting. It makes use of the format specifiers
used in C programming like %d or %f to map their values in python. We will
discuss how formatting is done in python.
Table 1: String Operators
Hello
World!
9. \r ASCII Carriege print("Hello \r World!")
Return(CR) Output:
World!
10. \t ASCII print("Hello \t World!")
Horizontal Tab Output:
Hello World!
11. \v ASCII Vertical print("Hello \v World!")
Tab Output:
Hello
World!
12. \ooo Character with print("\110\145\154\154\157")
octal value Output:
Hello
13 \xHH Character with print("\x48\x65\x6c\x6c\x6f")
hex value. Output:
Hello
Python Operator
Arithmetic Operator
Session 2022-23
Python for Data Science
Comparison Operator
Session 2022-23
Python for Data Science
Chapter-4
TUPLES
A tuple is a sequence of immutable Python objects. Tuples are sequences, just like lists. The
differences between tuples and lists are, the tuples cannot be changed unlike lists and tuples use
parentheses.
Session 2022-23
Python for Data Science
Session 2022-23
Python for Data Science
List
The list is a most versatile datatype available in Python which can be written as a list of
comma-separated values (items) between square brackets. Important thing about a list is that
items in a list need not be of the same type.
Creating a list is as simple as putting different comma-separated values between square brackets.
For example − list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b",
"c", "d"];
Similar to string indices, list indices start at 0, and lists can be sliced, concatenated and so on.
Accessing Values in Lists:
To access values in lists, use the square brackets for slicing along with the index or indices to
obtain value available at that index. For example − list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5].
Session 2022-23
Python for Data Science
Session 2022-23
Python for Data Science
Characteristics of Lists
The indexing is processed in the same way as it happens with the strings. The elements of the list
can be accessed by using the slice operator [].
The index starts from 0 and goes to length - 1. The first element of the list is stored at the 0th
index, the second element of the list is stored at the 1st index, and so on.
Session 2022-23
Python for Data Science
We can get the sub-list of the list using the following syntax.
list_varible(start:stop:step)
Session 2022-23
Python for Data Science
Let's have a look at the following example where we will use negative indexing to access the
elements of the list.
1. list = [1,2,3,4,5]
2. print(list[-1])
3. print(list[-3:])
4. print(list[:-1])
5. print(list[-3:-1])
Output:
5
[3, 4, 5]
[1, 2, 3, 4]
[3, 4]
Figure 18: Output for program
Session 2022-23
Python for Data Science
Chapter-5
Loop definition
Programming languages provide various control structures that allow for more complicated
execution paths.
A loop statement allows us to execute a statement or group of statements multiple times. The
following diagram illustrates a loop statement −
nested loops You can use one or more loop inside any another
while, for or do..while loop.
Loop Example:
For Loop:
>>> for mynum in [1, 2, 3, 4, 5]:
print ("Hello", mynum )
Hello 1
Session 2022-23
Python for Data Science
Hello 2
Hello 3
Hello 4
Hello 5
While Loop:
>>> count = 0 >>while(count< 4):
print 'The count is:', count count = count + 1
The count is: 0
The count is: 1
The count is: 2
The count is: 3
We can give specific start, stop, and step size values in the manner range(start, stop, step size). If
the step size is not specified, it defaults to 1.
Since it doesn't create every value it "contains" after we construct it, the range object can be
characterized as being "slow." It does provide in, len, and __getitem__ actions, but it is not an
iterator.
Code
Output
range(0, 15)
Session 2022-23
Python for Data Science
To iterate through a sequence of items, we can apply the range() method in for loops. We can use
indexing to iterate through the given sequence by combining it with an iterable's len() function.
Here's an illustration.
Code
Output
PYTHON
LOOPS
SEQUENCE
CONDITION
RANGE
Continue Statement
It returns the control to the beginning of the loop.
Code
continue
print('Current Letter:', string)
Output:
Current Letter: P
Current Letter: y
Current Letter: h
Current Letter: n
Current Letter:
Current Letter: L
Current Letter: s
Break Statement
It stops the execution of the loop when the break statement is reached.
Code
Output:
Current Letter: P
Current Letter: y
Current Letter: t
Current Letter: h
Current Letter: o
Current Letter: n
Session 2022-23
Python for Data Science
Current Letter:
Conditional Statements:
Decision making is anticipation of conditions occurring while execution of the program and
specifying actions taken according to the conditions.
Decision structures evaluate multiple expressions which produce TRUE or FALSE as outcome.
You need to determine which action to take and which statements to execute if outcome is TRUE
or FALSE otherwise. Python programming language provides following types of decision
making statements. Click the following links to check their detail.
Statement Description
if statements An if statement consists of a boolean expression followed
by one or more statements.
nested if statements You can use one if or else if statement inside another if or
else if statement(s).
Example:
If Statement:
a=33
b=200
If b>a:
print(“b”)
If...Else Statement:
a=200
Session 2022-23
Python for Data Science
b=33
if b>a:
print(“b is greater than a”)
else:
print(“a is greater than b”)
Function
The functions are broad of two types, user-defined and built-in functions. It aids in keeping the
software succinct, non-repetitive, and well-organized
Function blocks begin with the keyword def followed by the function name and parentheses ( ( )
).
Any input parameters or arguments should be placed within these parentheses. You can also
define parameters inside these parentheses.
The first statement of a function can be an optional statement - the documentation string of the
function.
The code block within every function starts with a colon (:) and is indented.
The statement return [expression] exits a function, optionally passing back an expression to the
caller. A return statement with no arguments is the same as return None.
Session 2022-23
Python for Data Science
o By including functions, we can prevent repeating the same code block repeatedly in a
program.
o Python functions, once defined, can be called many times and from anywhere in a
program.
o If our Python program is large, it can be separated into numerous functions which are
simple to track.
o The key accomplishment of Python functions is we can return as many outputs as we
want with different arguments.
o name_of_function is the function's name that we can use to separate it from others. We
will use this name to call the function later in the program. The same criteria apply to
naming functions as to naming variables in Python.
o We pass arguments to the defined function using parameters. They are optional, though.
o We can use a documentation string called docstring in the short form to explain the
purpose of the function.
o The body of the function is made up of several valid Python statements. The indentation
depth of the whole code block must be the same (usually 4 spaces).
Session 2022-23
Python for Data Science
Syntax:
Def functionname (parameters):
“function_docstring”
Return[expression]
Example:
Def printme(str):
“this print a passed string into this function”
print str
return;
Above function print the string str on the screen because of function calling.
Calling a Function
A function is defined by using the def keyword and giving it a name, specifying the arguments
that must be passed to the function, and structuring the code block. After a function's
fundamental framework is complete, we can call it from anywhere in the program. The following
is an example of how to use the a_function function.
Code
# Defining a function
def a_function( string ):
"This prints the value of length of string"
return len(string)
# Calling the function we defined
print( "Length of the string Functions is: ", a_function( "Functions" ) )
print( "Length of the string Python is: ", a_function( "Python" ) )
Output:
Length of the string Functions is: 9
Length of the string Python is: 6
Session 2022-23
Python for Data Science
Function Arguments
The following are the types of arguments that we can use to call a function:
1. Default arguments
2. Keyword arguments
3. Required arguments
4. Variable-length arguments
Default Arguments
A default argument is a kind of parameter that takes as input a default value if no value is
supplied for the argument when the function is called. Default arguments are demonstrated in the
following instance.
Keyword Arguments
The arguments in a function called are connected to keyword arguments. If we provide keyword
arguments while calling a function, the user uses the parameter label to identify which parameter
value it is.
Since the Python interpreter will connect the keywords given to link the values with its
parameters, we can omit some arguments or arrange them out of order.
Required Arguments
The arguments given to a function while calling in a pre-defined positional sequence are required
arguments. The count of required arguments in the method call must be equal to the count of
arguments provided while defining the function.
We must send two arguments to the function function() in the correct order, or it will return a
syntax error, as seen below.
Session 2022-23
Python for Data Science
Variable-Length Arguments
We can use special characters in Python functions to pass as many arguments as we want in a
function. There are two types of characters that we can use for this purpose:
These types of Python functions are anonymous since we do not declare them, as we declare
usual functions, using the def keyword. We can use the lambda keyword to define the short,
single output, anonymous functions.
Lambda expressions can accept an unlimited number of arguments; however, they only return
one value as the result of the function. They can't have numerous expressions or instructions in
them. Since lambda needs an expression, an anonymous function cannot be directly called to
print.
Lambda functions contain their unique local domain, meaning they can only reference variables
in their argument list and the global domain name.
Although lambda expressions seem to be a one-line representation of a function, they are not like
inline expressions in C and C++, which pass function stack allocations at execution for
efficiency concerns.
Syntax
Code
Session 2022-23
Python for Data Science
# Defining a function
Output:
The scope of a variable refers to the domain of a program wherever it is declared. A function's
arguments and variables are not accessible outside the defined function. As a result, they only
have a local domain.
The period of a variable's existence in RAM is referred to as its lifetime. Variables within a
function have the same lifespan as the function itself.
When we get out of the function, they are removed. As a result, a function does not retain a
variable's value from earlier executions
Session 2022-23
Python for Data Science
Chapter-6
SCOPE OF PYTHON
1 - Science
- Bioinformatics
2 - System Administration
- Unix
- Web logic
- Web sphere
3 - Web Application Development
Python is a versatile programming language that can be used in a variety of fields, such
as software development, government administration, business, science, arts, education,
and others. According to Naukri.com, there were more than 75,000 open jobs for Python
developers in India at the end of 2019.
Session 2022-23
Python for Data Science
• It's free (open source) , Downloading and installing Python is free and easy , Source code is
easily accessible
• It's powerful , Dynamic typing , Built-in types and tools , Library utilities
o Third party utilities (e.g. Numeric, NumPy, SciPy) o Automatic memory management
• It's portable and Python runs virtually every major platform used today o As long as you have a
compatible Python interpreter installed, Python programs will run in exactly the same manner,
irrespective of platform.
Session 2022-23
Conclusion
I believe the trial has shown conclusively that it is both possible and desirable to use Python as
the principal teaching language:
o It is Free (as in both cost and source code).
o It is trivial to install on a Windows PC allowing students to take their interest further. For many
the hurdle of installing a Pascal or C compiler on a Windows machine is either too expensive or
too complicated.
o It is a flexible tool that allows both the teaching of traditional procedural programming and
modern OOP.
o It is a real-world programming language that can be and is used in academia and the
commercial world;
o It appears to be quicker to learn and, in combination with its many libraries, this offers the
possibility of more rapid student development allowing the course to be made more challenging
and most importantly, its clean syntax offers increased understanding and enjoyment for
students.
Session 2022-23
References
https://www.javatpoint.com/python-lists, for lists
https://www.javatpoint.com/python-strings, for strings concepts
https://www.javatpoint.com/python-loops, for study of loops and control statements in python
https://www.w3schools.com/python/python_lists.asp
Session 2022-23