Python Project
Python Project
EDU SKILLS
PYTHON FULL STACK
A Internship Report Submitted at the end of seventh semester
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING
(DATA SCIENCE)
Submitted By
SURADA RAGHAVENDRA
(22981A44H7)
1
lOMoAR cPSD| 45929 297
2025-2026
CERTIFICATE
This is to certify that this project entitled “Python Full Stack” done by
“SURADA RAGHAVENDRA (22981A44H7)” is a student of [Link] in the
Department of Computer Science and Engineering, Raghu Engineering College, during
the period 2022 - 2026, in partial fulfillment for the award of the Degree of Bachelor of
Technology in Computer Science and Engineering to the Jawaharlal Nehru Technological
University, Gurajada Vizianagaram is a record of bonafide work carried out under my
guidance and supervision.
The results embodied in this internship report have not been submitted to any other
University or Institute for the award of any Degree.
EXTERNAL EXAMINER
2
lOMoAR cPSD| 45929 297
EduSkills
by
SURADA RAGHAVENDRA (22981A44H7)
G. Venkata Swamy
Assistant Professor
Internal Examiner
External Examiner
HOD
Date:
3
lOMoAR cPSD| 45929 297
DECLARATION
I also declare that this internship is a result of my own effort and that has not been
copied from anyone and I have taken only citations from the sources which are
mentioned in the references.
This work was not submitted earlier at any other University or Institute for the
reward of any degree.
Date:
Place:
SURADA RAGHAVENDRA
(22981A44H7)
CERTIFICATE
4
lOMoAR cPSD| 45929 297
ACKNOWLEDGEMENT
I take this opportunity with great pleasure to put on record our ineffable personal indebtedness
to Mr. Raghu Kalidindi, Chairman of Raghu Engineering
College for providing necessary departmental facilities.
I would like to thank the Principal Dr. Ambati Vijay Kumar of “Raghu
Engineering College”, for providing the requisite facilities to carry out projects
on campus. Your expertise in the subject matter and dedication towards our project
have been a source of inspiration for all of us.
I sincerely express our deep sense of gratitude to Dr. B Raja Sarath Kumar,
Professor, Head of Department Department of Computer Science and
Engineering, Raghu Engineering College, for her perspicacity, wisdom and
sagacity coupled with compassion and patience. It is my great pleasure to submit
this work under her wing. I thank for guiding us for the successful completion of
this project work.
5
lOMoAR cPSD| 45929 297
I would like to thank Edu Skills for providing the technical guidance to carry out
module assigned. Your expertise in the subject matter and dedication towards our
project have been a source of inspiration for all of us.
I extend my deep hearted thanks to all faculty members of the Computer Science
department for their value based imparting of theory and practical subjects, which
were used in the project. I thank the non-teaching staff of the Department of
Computer Science and Engineering , Raghu Engineering College, for their
inexpressible support.
Regards
SURADA RAGHAVENDRA
(22981A44H7)
TABLE OF CONTENTS
1.1 Introduction 9
1.2 History 9
1.3 Features 9
6
lOMoAR cPSD| 45929 297
4. Functions 31-38
7. CONCLUSION 45
7
lOMoAR cPSD| 45929 297
1. INTRODUCTION TO PYTHON
1.1 INTRODUCTION
• Python is a simple, general purpose, high level, and object-oriented programming
language.
• Python is a interpreted scripting language.
• Python is a trending programming language to develop various applications.
• As of 2022, Python continues to be one of the most popular programming languages
worldwide, used extensively in Web development, data science, machine learning,
artificial intelligence, science computing, automation, and more.
• The Python Software Foundation (PSF) oversees Python’s development and promotes
its adoption and growth.
1.2 HISTORY
• Invented in Netherlands early by Guido Van Rossum.
• Python was conceived in late 1980’s and its implementation was started in December
1989.
• Guido van Rossum is fan of ‘Monty Python Firing Circus,’ this is a famous TV show in
Netherlands.
• Maned after Monty Python.
• Open sourced in the year 2012.
• Its vibrant community and thriving ecosystem ensure that Python remains relevant and
continues to evolve to meet the needs of developers and industries alike.
1.3 FEATURES
• Easy-to-learn – Python has few keywords, simple structures, and a clearly defined
syntax. This allows the student to pick up the language quickly.
• Easy-to-read – Python code is more clearly defined and visible to eyes.
• Easy-to-maintain – Python’s source code is fairly easy-to-maintain.
• A broad standard library – Python’s bulk pf the library is very portable and
crossplatform compatible on UNIX, Windows, and Macintosh.
• Interactive Mode – Python has support for an interactive mode which allows
interactive testing and debugging of snippets of code.
• Portable – Python can run on a widely variety of hardware platforms and has the same
interface on all platforms.
8
lOMoAR cPSD| 45929 297
• Extendable – It can add low-level modules to the Python interpreter. These modules
enable programmers to add to or customize their tools to be more efficient.
• Databases – Python provides interfaces to all major commercial databases.
• GUI Programming – Python supports GUI applications that can be created and ported
to many system calls, libraries, and windows systems, such as Windows MFC,
Macintosh, and the X Window system of Unix.
• Scalable – Python provides a better structure and support for large programs than shell
scripting.
1.4 APPLICATIONS
Web Development
• Django – A high-level Python web framework that enables rapid development and
clean, pragmatic design.
• Flask – A lightweight web framework that provides the essentials for building web
applications without the complexity of a full-stack framework.
• Pyramids – A flexible and minimalist web framework for building small to largescale
web applications.
Data Science and Analytics
• NumPy – A library for numerical computing that provides support for large,
multidimensional arrays and matrices.
• Pandas – A library for data manipulation and analysis, offering data structures and
functions to efficiently work with structured data.
• Matplotlib – A plotting library for creating ststic, interactive, and animated
visualizations in Python.
• Scikit-learn – A machine learning library that provides simple and efficient tools for
data mining and analysis.
9
lOMoAR cPSD| 45929 297
Scientific Computing
• SciPy – A library for scientific computing that builds on top of NumPy and provides a
collection of algorithms and functions for optimization, integration, interpolation, and
more.
• SymPy – A library for symbolic mathematics that allows for symbolic computation,
including algebraic manipulation, calculus, and solving equations.
Desktop GUI Applications
• Tkinter – The standard GUI toolkit for Python, included with most Python
installations, providing a simple and easy-to-use interface for building desktop
applications.
• PyQt – A set of Python bindings for the Qt application framework, enabling the
development of cross-platform desktop applications with rich graphical interfaces.
Game Development
• Pygame – A set of Python modules designed for writing video games, providing
functionality for handling graphics, sound, and user input.
Scripting and Automation
• Python is commonly used for writing scripts and automating tasks, such as system
administration, file manipulation, web scraping, and data processing.
IOT (Internet of Things) and Embedded Systems
• Python is increasingly being used for IOT development due to its simplicity and
versatility, enabling developers to build applications for IO devices and embedded
systems.
• Start Using: Access Python via command line with ‘python,’ or create and run Python
scripts.
10
lOMoAR cPSD| 45929 297
The hardware and software requirement for Python development and execution are
relatively minimal, making it accessible across a wide range of devices and platforms.
HARDWARE REQUIREMENT
11
lOMoAR cPSD| 45929 297
(a) (b)
(c)
Fig 2. Hardware Requirements of Python (a) i3 processor (b) RAM (c) Storage.
SOFTWARE REQUIREMENT
Operating System
• Python is compatible with various operating systems, including Windows, Macintosh,
Linux distributions (e.g., Ubuntu, Debian, CentOS).
• Python code written on one operating system can typically run on other without
modification, thanks to Python’s cross-platform compatibility.
Python Interpreter
• You need a Python interpreter to run Python code. You can download and install the
official Python interpreter from the Python Software Foundation's website:
Python Downloads.
12
lOMoAR cPSD| 45929 297
isolate your Python projects and their dependencies, ensuring consistency and
avoiding conflicts between different projects.
Optional: Dependency Management Tools
• Depending on your project's requirements, you may need additional tools for managing
dependencies, such as:
• [Link] files for specifying project dependencies.
Python's minimal hardware and software requirements contribute to its popularity and
accessibility, allowing developers to write and run Python code on a wide range of devices and
platforms with ease.
13
lOMoAR cPSD| 45929 297
1) Numbers 2) Strings
NUMBERS
14
lOMoAR cPSD| 45929 297
• Floating point numbers do not have limited range and limited precision.
• Range – 10^-308 to 10^308 Precision – 10to 17 digits.
STRINGS
ESCAPE SEQUENCES
15
lOMoAR cPSD| 45929 297
Type () – This function is used to determine the type of an object as in Figure 6. It returns the
type of the object as a class object.
16
lOMoAR cPSD| 45929 297
III. BOOLEAN
The Boolean data type is either True or False.
In Python, Boolean variables are defined by the True and False keywords.
IV. COLLECTIONS
Collections refers to data structures that are used to store and manage collections of data. These
collections provide various functions and are designed to suit different needs. Collections in
python are basically container data types, namely lists, sets, tuples, dictionary.
Here an introduction to collections in Python along with some commonly used types:
LISTS
TUPLES
Tuples are similar to lists but are immutable, meaning their content cannot be changed after
creation.
Tuples are created using parentheses ‘()’.
17
lOMoAR cPSD| 45929 297
SETS
DICTIONARIES
2.4 OPERATIONS
In Python, operators are special symbols or keywords that are used to perform
operations on operands. Here is an overview of the different types of operators in Python:
ARITHMETIC OPERATORS
Addition: ‘+’
Subtraction: ‘-’
Multiplication: ‘*’
Division: ‘/’
Floor Division: ‘//’ (returns the integer part of the division)
Modulus: ‘%’ (returns the remainder of the division)
Exponentiation: ‘**’ (raises the left operand to the power of the right operand)
18
lOMoAR cPSD| 45929 297
COMPARISON OPERATIONS
Comparison operators are used to compare the values of two operands as shown in Figure 8.
Equal to: ‘==’
Not equal to: ‘! =’
Greater than: ‘>’
Less than: ‘<’
Greater than or equal to: ‘>=’
Less than or equal to: ‘<=’
LOGICAL OPERATORS
Logical operators are used to combine conditional statements as in Figure 10.
Logical AND – ‘and’
Logical OR – ‘or’
Logical NOT – ‘not’
19
lOMoAR cPSD| 45929 297
ASSIGNMENT OPERATORS
Assignment operators are used to assign values to variables as in Figure 11.
Assignment: ‘=’
Addition assignment: ‘+=’
Subtraction assignment: ‘ -=’
Multiplication assignment: ‘*=’
Division assignment: ‘/=’
Modulus assignment: ‘%=’
Floor division assignment: ‘//=’
Exponentiation assignment: ‘**=’
20
lOMoAR cPSD| 45929 297
Type casting and type coercion are both mechanisms used in programming language to
convert data from one type to another, but they differ in their approaches and implications.
• Explicit conversion of a value from one datatype to another is called type casting.
• Implicit conversion of datatypes during compilation or runtime is called Type Coercion.
TYPE CONVERSION
Type conversion, also known as type casting, is the process of converting a value from one
data type to another. In Python, it can perform type conversion using built-in functions or
constructors. Here are some common type conversion functions:
3. CONTROL STATEMENTS
In Python, control statements are used to control the flow of execution in a program based on
certain conditions. They allow to make decisions, execute code repeatedly, and handle
exceptions. Three fundamental methods of control flow:
21
lOMoAR cPSD| 45929 297
1) Sequential
2) Selection (execution only a selected set of stmts)
3) Iteration (execute a set of statements repeatedly)
• These statements usually jump from one part of code to another depending on whether a
particular condition is satisfied or not.
• Conditional statements execute sequentially when there is no condition around the
statements.
• If you put some condition for a block of statements, the execution flow may change based
on the result evaluated by the condition.
22
lOMoAR cPSD| 45929 297
If you input a positive number like 5, the program will increment it by 1, resulting in 6 as the
output. If you input a number that is not positive, such as 0 or a negative number, the program
will not increment it, and the output will be the same as the input number.
Nested if: Nested if statements mean an if statement inside another is statement. The flow chart
for if statement is shown in Figure 14.
SAMPLE PROGRAM
23
lOMoAR cPSD| 45929 297
If the input the year 2024, the program will determine that it is a leap year and print "2024 is a
leap year".
If-else: The if-else statement evaluates test expression and will execute the body of if only
when the test condition is True. If the condition is False, the body of else is executed.
Indentation is used to separate the blocks.
ITERATIVE STATEMENTS
WHILE LOOP
In the while loop, test expression is checked first. The body of the loop is entered only if
the test expression evaluates to True. After one iteration, the test expression is checked
again. This process continues until the test expression evaluates to False. The flow chart of
while loop is in the figure 15.
24
lOMoAR cPSD| 45929 297
The break statements terminate the loop containing it. Control of the program flow to the
statements immediately after the body of the loop. If the break statements is inside a nested
loop (loop inside another loop), the break statement will terminate the innermost loop.
In this example, the while loop continues as long as num is less than 5. Inside the loop, num is
printed, and then it is checked whether num is equal to 3. If the condition is true, the break
statement is executed, and the loop terminates
25
lOMoAR cPSD| 45929 297
The continue statement is used to skip the rest of the code inside a loop for the current iteration
only. Loop does not terminate but continues on with the next iteration.
In this example, the while loop continues as long as Num is less than 5. Inside the loop,
Num is incremented by 1. Then, it is checked whether Num is equal to 2. If the condition
is true, the continue statement is executed, and the loop skips the remaining code block for
that iteration. Otherwise, the value of Num is printed.
FOR LOOP
For loop is usually known as determinate or definite loop because the programmer knows
exactly how many times the loop will repeat. The number of times loop has to be executed
can be determined mathematically checking logic of the loop. The flow chart of for loop is
shown in figure 16.
Syntax
For loop_control_var in sequence:
Statement 1
Statement 2
26
lOMoAR cPSD| 45929 297
SAMPLE PROGRAM
Program using for loop to check whether the number is even or odd
Each number from 1 to 10 is printed along with whether it is odd or even. Odd numbers have a
remainder of 1 when divided by 2, while even numbers have a remainder of 0.
NESTED LOOPS
27
lOMoAR cPSD| 45929 297
Nested loops in Python refer to using one or more loops inside another loop. This allows you
to iterate over a sequence of elements or perform a certain operation multiple times, with one
loop contained within another loop.
inner_loop_variable in
inner_sequence:
Nested loops are commonly used when dealing with multi-dimensional data structures, such as
lists of lists or matrices, or when you need to perform a repetitive task that involves multiple
levels of iteration.
In this example, the outer loop (for i in range (5)) iterates over the rows, and the inner loop
which (for j in range (i + 1)) iterates over the columns for each row. This results in a pattern
where the number of asterisks increases with each row.
4. FUNCTIONS
INTRODUCTION
A function is a block of organised and reusable program code that performs a simple, specific,
and well-defined task.
28
lOMoAR cPSD| 45929 297
Func (1) is called to perform a well-defined task. As soon as Func (1) is called, the program
control is passed to first statement in function. All the statements in function are executed
and program control is passed to function following the one that called the function.
Func (1) calls function named Func (2). Therefore Func (1) is known as calling function.
Func (2) is known as function.
29
lOMoAR cPSD| 45929 297
• asin(x), acos(x), atan(x): Returns the inverse trigonometric sine, cosine, and tangent of
x, respectively. The result is in radians.
• degrees(x): Converts angle x from radians to degrees.
• radians(x): Converts angle x from degrees to radians.
• ceil(x): Returns the smallest integer greater than or equal to x (i.e., the ceiling of x).
• floor(x): Returns the largest integer less than or equal to x (i.e., the floor of x).
• round(x): Returns x rounded to the nearest integer.
• gcd(x, y): Returns the greatest common divisor of two integers x and y.
• hypot(x, y): Returns the Euclidean norm, sqrt(xx + yy).
FUNCTION DEFINITION
• 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().
• The first statement of a function can be an optional statement – the documentation string
of the function or docstring.
FUNCTION CALL
30
lOMoAR cPSD| 45929 297
TYPES OF FILES
1) Binary file
2) Text file
BINARY FILE
Most of the files that visible in personal computer system are called binary files.
All binary files follow a specific format. It can open some binary files in the normal text
editor but it cannot read the content present inside the file. That is because all the binary files
will be encoded in the binary format, which can be understood only by a computer or
machine.
For handling such binary files it can need a specific type of software to open it.
For Example – it needs Microsoft word software to open .doc binary files. Likewise, it need
a .pdf reader software to open .pdf binary files and it need a photo editor software to read the
image files and so on.
TEXT FILE
31
lOMoAR cPSD| 45929 297
Text files do not have any specific encoding and it can be opened in normal text editor itself.
Most importantly there are four types of operations that handled by Python on files:
OPENING A FILE
SYNTAX
File_object = open(file_name,mode)
File_name is the name of the file or the location of the file that want to open.
MODE
• The file in the open function syntax will tell Python as what operation that what to do on a
file.
• ‘r’ – Read Mode : Read mode is used only to read data from the file.
• ‘w’ – Write Mode : This mode is used when it want to write data into a file or modify it.
Remember write mode overwrites the data present in the file.
• ‘s’ – Append Mode : Append mode is used to append data to the file. Remember data will
be appended at the end of the file pointer.
• ‘r+’ – Read or Write Mode : This mode is used when it want to write or read the data from
the same file.
• ‘w+’ – Read or Write Mode : When a file is opened in this mode. If the file has not been
created new file will be created if created it is overwritten.
• ‘a+’ – Append or Read Mode : This mode is used when it want to read data from the file
or append the data into the same file.
32
lOMoAR cPSD| 45929 297
BINARY MODE
• ‘wb’ – Open a file for write only mode in the binary format.
• ‘rb’ – Open a file for the read -only mode in the binary format.
• ‘ab’ – Open a file for appending only mode in the binary format.
• ‘rb+’- Open a file for read and write only mode in the binary format.
• ‘ab’ - Open a file for appending and read only mode in the binary format.
READ A FILE
There are three ways in which we can read the files in python
Read([n])
Readline([n])
Readlines()
lineno=int(input(“enter a number”))
print(line)
break
In order to close a file, we must first open a file. In python, we have an in built method called
close() to close the file which is opened.
Whenever you open a file, it is important to close it, especially, with write method. Because
if we don’t call the close function after the write method then whatever data we have written
to a file will not be saved in to the file.
Example
My_file= open(“C:/Documents/Pythhon/[Link]”, “r”)
Print(my_file.read())
My_file.close()
33
lOMoAR cPSD| 45929 297
WRITE A FILE:
In order to write data into a file, we must open the file in the write mode.
We need to be very careful while writing data in to the file as it overwrites the content present
inside the file that you were writing, and all previous data will be erased.
We have two methods for writing data into a file as shown below.
Write(string)
Writelines(list) Write() my_file=open(“C:/Documents/Python/[Link]”, “w”)
Writelines()
My_file=open(“C:/Documents/Python/[Link]”, “a+”)
My_file.write(“Strawberry”)
The above code appends the string ‘strawberry’ at the end of the ‘[Link]’file.
My_file=open(“C:/Documents/Python/[Link]”, “w”)
My_file. Writelines(fruits)
facto standard language for relational database management systems (RDBMS), including
popular systems such as MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database, and
SQLite, among others.
KEY ASPECTS
Data Querying: SQL allows users to retrieve data from databases using queries. Queries can
range from simple requests for specific records to complex operations involving multiple
tables and conditions.
Data Manipulation: SQL provides commands for inserting, updating, and deleting data
within a database. This allows users to modify existing records or add new ones as needed.
Database Definition: SQL includes commands for defining and managing database
structures such as tables, indexes, views, and stored procedures. These structures help
organize and optimize data storage and access.
Data Control: SQL offers mechanisms for controlling access to databases and managing user
permissions. This ensures that only authorized users can view or modify sensitive data.
Data Integrity: SQL supports the enforcement of data integrity constraints such as primary
keys, foreign keys, and unique constraints. These constraints help maintain the consistency
and reliability of data within a database.
Transaction Control: SQL provides features for managing database transactions, allowing
users to group multiple database operations into atomic units of work. This ensures that
either all operations within a transaction are completed successfully or none of them are,
maintaining data consistency.
Decision Making: Data-driven decision making relies on analysing data to make informed
choices, whether in business strategy, healthcare, or other fields.
Business Insights: Data can provide valuable insights into customer behaviour, market
trends, and operational efficiency, helping businesses optimize their strategies.
Predictive Analysis: By analysing historical data, organizations can make predictions about
future trends and outcomes, aiding in planning and risk management.
Personalization: Data allows businesses to personalize products, services, and marketing
efforts to better meet the needs and preferences of individual customers.
Performance Monitoring: Monitoring key performance indicators (KPIs) through data
analysis helps organizations track progress towards goals and identify areas for
improvement.
35
lOMoAR cPSD| 45929 297
1) Download MySQL Installer: Visit the MySQL website and download the MySQL
Installer for your operating system (Windows, macOS, Linux).
2) Run Installer: Locate the downloaded installer file and double-click it to run the installer.
3) Choose Installation Type: Select your preferred installation type (e.g., "Developer
Default" for standard development setup) and click "Next".
4) Configure MySQL Server: Set the root password for MySQL Server and choose a port
number for MySQL to listen on.
5) Complete Installation: Wait for the installer to finish installing components and
configuring MySQL Server.
37
lOMoAR cPSD| 45929 297
EXAMPLE
EXAMPLE
2) WHERE - The WHERE clause is used to filter rows based on a specified condition. It
allows you to retrieve only the rows that meet the specified criteria Syntax - SELECT
38
lOMoAR cPSD| 45929 297
4) SELECTION - a selection query filters rows from a table based on specific conditions
6.9 OPERATORS
SQL operators are used to perform operations on data in SQL queries. These are the
basic syntax patterns for using common SQL operators in queries. Keep in mind that the exact
syntax may vary slightly depending on the SQL dialect or database management system you're
using.
ARITHMETIC OPERATORS:
COMPARISON OPERATORS:
39
lOMoAR cPSD| 45929 297
• <= (Less than or equal to): Tests if one value is less than or equal to another.
• >= (Greater than or equal to): Tests if one value is greater than or equal to another.
LOGICAL OPERATORS:
CONCATENATION OPERATOR:
IN OPERATOR:
BETWEEN OPERATOR:
IS NULL OPERATOR:
40
lOMoAR cPSD| 45929 297
7. CONCLUSION
Python full stack development offers a comprehensive approach to building web applications
using Python for both frontend and backend development. Here is a concise conclusion
highlighting its key aspects:
Python's versatility and simplicity make it an excellent choice for full stack development.
With Python, developers can use the same language across the entire stack, from frontend
to backend, reducing complexity and streamlining development.
For frontend development, Python frameworks like Django and Flask offer powerful tools for
building robust web applications. These frameworks provide features such as routing,
templating, form handling, and authentication, allowing developers to create dynamic and
interactive user interfaces.
On the backend, Python's extensive ecosystem of libraries and frameworks, combined with
its ease of integration with databases and other services, enables developers to build scalable
and efficient server-side applications.
Overall, Python full stack development offers a cohesive and efficient approach to building
modern web applications, leveraging Python's strengths in simplicity, versatility, and extensive
ecosystem of libraries and frameworks. As a result, Python remains a popular and widely-used
technology stack for developers seeking to build robust and scalable web applications.
41