Uploaded by Rahul Kumar

Final - Internship Report kochi camino fathima 137 (1)

advertisement
RATHINAM COLLEGE OF ARTS AND SCIENCE
Rathinam Techzone , Pollachi Road, Eachanari, Coimbatore – 641021
BACHELOR OF COMPUTER APPLICATIONS
SPECIALIZATION IN
ARTIFICIAL INTELLIGENCE
Batch: - 2021-2024
INTERNSHIP REPORT
By
FATHIMA SHAMSUDEEN
Reg. No.: RCAS2021BCA137
1
RATHINAM COLLEGE OF ARTS AND SCIENCE
(Autonomous)
Coimbatore - 641021
DEPARTMENT OF Computer Science
BONAFIDE CERTIFICATE
This is to certify that the “Internship report” submitted by Fathima Shamsudeen
(Reg. No.: RCAS20201BCA137 ) is work done by her/him and submitted during 2022-2023
academic year, in partial fulfilment of the requirements for the award of the Degree of Bachelor
of Computer Applications specialization in “ARTIFICIAL INTELLIGENCE “at Rathinam
College of Arts and Science, Coimbatore.
Internship Co-ordinator
Head of the Department
2
ACKNOWLEDGEMENT
On successful completion for Internship look back to thank who made in possible. First
and foremost, thank “THE ALMIGHTY” for this blessing on us without which we
could have not successfully completed our internship.
I take this opportunity to express my heartfelt & grateful sense of gratitude to
Dr. MADAN. A. SENDHIL, M.S., Ph.D., Chairman of RATHINAM Group for
permitting to do the project work.
I take this opportunity to express my heartfelt & grateful sense of gratitude to
Dr. R. MANICKAM, MCA, M. Phil., Ph.D CEO of RATHINAM Group for
permitting to do the project work.
I
acknowledge
my
deep
sense
of
gratitude
to
our
Principal
Dr. R. MURALIDHARAN, M.Sc., M.Phil., Ph.D., RATHINAM College of Arts and
Science (Autonomous) for having Given me an opportunity to get a practical experience
beyond the bounce of theoretical Knowledge through summer Internship Program.
I heartily thank to Mr.P.SIVAPRAKASH, ME.,(Ph.D)., Head of the department of
Computer Application for giving an opportunity to undergo a summer internship project
for my career development.
I would like to express my hearty thanks to Ms.V.Kanimozhi, ME.,(Ph.D)., Placement
and Internship Coordinator and to all faculty members of Department of Computer
Science for their valuable guidance and kind advice, encouragement and creative
suggestion at every stage of this summer Internship project work.
My deep sense of gratitude to my beloved parents, friends, my well wisher for their
affection, care and cooperation in all walks of my life and all others for their support to
complete this summer Internship Program.
3
RATHINAM COLLEGE OF ARTS AND SCIENCE
(Autonomous)
Coimbatore - 641021
DEPARTMENT OF COMPUTER SCIENCE
DECLARATION
I, Fathima Shamsudeen, hereby declare that this Internship report is the record
of the original work done by me. To the best of my knowledge this work has
not formed the basis for the award of any degree/diploma/ associateship/
fellowship/or a similar award to any candidate in any University.
Fathima Shamsudeen
(Reg.No:RCAS2021BCA137)
4
Table of Contents
SI.NO
1
CONTENT
2
Bonafide
Certificate
Acknowledgement
3
Declaration
4
Certificate
5
Offer Letter
6
Feedback
7
Introduction
8
9
Vision and
Mission
Internship Objectives
10
About the Organization
11
PAGE.NO
About the Project
12
Basic Python Information
13
Advanced Python Information, Module 1
14
Module 2
15
Module 3
16
Module 4
17
Conclusion
5
6
7
INTRODUCTION
Introduction to Python Programming 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 objectoriented, 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.
8
VISION
Our vision is to develop in a constant manner and grow as a major IT
service provider to become a leading performer, in providing quality Web
and Software
Development
solutions
in
the
competitive
global
marketplace. Our professional, flexible and integrated process reflects in
what we do. We always guide our customers to success. We have the
ability to accelerate and quickly share the great work or products of your
organisation or business.
MISSION
Camino Infotech Pvt. Ltd,delivers its solutions through an empowered
team of professionals, where all the members are encouraged to
innovate, explore, and take responsibilities for their own growth both
technically and professionally. Camino Infotech Pvt. Ltd, an open work
environment
and
culture
that
encourages
personal
and
group
achievements with a clear focus on delivering customer satisfaction.
9
Learning Objectives/Internship Objectives
 Internships are generally thought of to be reserved for college
students looking to gain experience in a particular field. However, a
wide array of people can benefit from Training Internships in order
to receive real world experience and develop their skills.
 An objective for this position should emphasize the skills you
already possess in the area and your interest in learning more.
 Internships are utilized in a number of different career fields,
including architecture, engineering, healthcare, economics,
advertising and many more.
 Some internship is used to allow individuals to perform scientific
research while others are specifically designed to allow people to
gain first-hand experience working.
 Utilizing internships is a great way to build your resume and develop
skills that can be emphasized in your resume for future jobs. When
you are applying for a Training Internship, make sure to highlight
any special skills or talents that can make you stand apart from the
rest of the applicants so that you have an improved chance of
landing the position.
10
About the Organization
CAMINO is a leading global information technology, business process
and services company. They employ the power of hyper-automation,
robotics, cloud, analytics and emerging technologies to help our clients to
modify the digital world and make them successful. They discover ideas
and connect the dots to build a better and a bold new future. They are a
bunch of technology enthusiastic, fun-loving people, with happily growing
customers and staff, building advanced tools, services, and interfaces for
data. They always believe in three important factors which are quality,
value and time.
They are a pro-business, efficient organization. They believe that IT
infrastructure is the system of all modern organization that connects the
various systems and functions. They will help us to build a robust IT
infrastructure that gives us a big advantage in modern market
environment. They provide end to end consulting and solutions to their
clients. Their friendly attitude towards the clients always helps in more
comfortable and powerful communication. They focus on their client’s
satisfaction. Their philosophy is to have the client at the focus point of all
discussions and planning so that the product/service will be essentially
client oriented. These policies make them one of the best software
companies referred by our clients.
By joining their team and we willl take on projects that continuously
sharpen our technical skills, our talent for solving problems and our
entrepreneurial spirit. They are a team of qualified, well-trained
professionals who are always up to the task. They are aggressive and
competent. And They respect deadlines. Unless extreme conditions
prevailed, They never cross a deadline or lamed an excuse which is rare
with Camino infotech.
11
About The Project
Python is a widely used general-purpose, high level programming
language. It was initially designed by Guido van Rossum in 1991 and
developed by Python Software Foundation. It was mainly developed for
emphasis on code readability, and its syntax allows programmers to
express concepts in fewer lines of code. Python is a programming
language that lets you work quickly and integrate systems more
efficiently. Python is a high-level, interpreted, interactive and objectoriented scripting language. Python is designed to be highly readable. It
uses English keywords frequently where as other languages use
punctuation, and it has fewer syntactical constructions than other
language
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.
12
Basic Python Information
Introduction to Python Programming:
 Why do we need Python?
 Program structure in Python
Execution steps:
 Interactive Shell
 Executable or script files.
 User Interface or IDE
Memory management and Garbage collections:
 Object creation and deletion
 Object properties
Data Types and Operations:
 Numbers
 Strings
 List
 Tuple
 Dictionary
 Other Core Types
Statements and Syntax in Python:
 Assignments, Expressions and print
 If tests and Syntax Rules
 While and For Loops
 Iterations and Comprehensions
File Operations:
 Opening a file
 Using Files
 Other File tools
13
Functions in Python:
 Function definition and call
 Function Scope
 Arguments
 Function Objects
 Anonymous Functions
Modules and Packages:
 Module Creations and Usage
 Module Search Path
 Module Vs. Script
 Package Creation and Importing
Classes in Python:
 Classes and instances
 Classes method calls
 Inheritance and Compositions
 Static and Class Methods
 Bound and Unbound Methods
 Operator Overloading
 Polymorphism
Exception Handling in Python Programming:
 Default Exception Handler
 Catching Exceptions
 Raise an exception
 User defined exception
Advanced Python Concepts:
 Decorators
 Generators
 Iterators
 Co-routine
14
Advanced Python training details
MODULE1
 Command Line arguments, Display Hooks:
A hook is a piece of code that runs at a specific lifecycle event of a
CLI command. Think of a hook as a pause in the CLI command
execution. The command executes as usual until it encounters a
hook. It pauses while the hook code executes, and then picks up
again when the hook code execution is completed. A CLI command
has the in
Open
it CLI Framework (ocl
in it
if)
defined. When you run the command,
hook fires
hook
the
after the CLI is initialized but before the CLI actually runs the
command.
 Standard data streams and Redirections:
The standard streams are simply pre-opened Python file objects
that are automatically connected to your program's standard
streams when Python starts up. By default, they are all tied to the
console window where Python (or a Python program) was started.
Because
the print statement and raw_input functions are really nothing more
than user-friendly interfaces to the standard output and input
streams, they are similar to using stdout and stdin in sys directly:
Syntax:
>>> print 'hello stdout world'
hello stdout world
>>> sys.stdout.write('hello stdout world' + '
')
15
hello stdout world
16
 Os module, Sub-process module:
The OS module in Python provides functions for interacting with
the operating system. OS comes under Python’s standard utility
modules. This module provides a portable way of using operating
system- dependent functionality. The *os* and *os.path* modules
include many functions to interact with the file system.
Syntax:
import os
cwd = os.getcwd()
print("Current working directory:", cwd)
 Forking processes:
Fork() method in Python is used to create a child process. This
method work by calling the underlying OS function fork(). This
method returns 0 in the child process and child's process id in the
parent process. It is usually a system call, implemented in the
kernel. getpid() : getpid() returns the process ID (PID) of the calling
process. Below is Python program implementing above : # Python
code to create child process.
Syntax: os.fork()
 Exec functions:
exec () function- is used for the dynamic execution of Python program
which can either be a string or object code. If it is a string, the string is
17
parsed as a
18
suite of Python statements which is then executed unless a syntax error
occurs and if it is an object code, it is simply executed. We must be
careful that the return statements may not be used outside of function
definitions not even within the context of code passed to the exec ()
function. It doesn’t return any value, hence returns None.
Syntax:
exec (object [, globals[, locals]])
 Working with comprehensions:
List comprehension is an elegant way to define and create lists
based on existing lists. List comprehension is generally more
compact and faster than normal functions and loops for creating
list. However, we should avoid writing very long list
comprehensions in one line to ensure that code is user-friendly. In
the statement “newSet = {element *3 for element in myList if
element % 2 == 0}”, Set comprehension is used to create the
newSet which contains squares of the even elements in myList
19
 Working with Descriptors, Iterators, Generators and
Decorators:
 Python descriptors allow for powerful and flexible attribute
management with new style classes. Combined with
decorators, they make for elegant programming, allowing creation
of Setters and Getters, as well as read-only attributes. It also
allows you to run attribute validation on request by value or type.
 Iterator in python is an object that is used to iterate over iterable
objects like lists, tuples, dicts, and sets. The iterator object is
initialized using
the iter() method. It uses the next() method for iteration.

Generator-Function : A generator-function is defined like a normal
function, but whenever it needs to generate a value, it does so
with the yield keyword rather than return. If the body of a def
contains yield, the function automatically becomes a
generator function.
 Decorators are a very powerful and useful tool in Python since it
allows programmers to modify the behaviour of a function or
class. Decorators allow us to wrap another function in order to
extend the behaviour of the wrapped function, without permanently
modifying it.
 The yield statement:
The Yield keyword in Python is similar to a return statement used
for returning values or objects in Python. However, there is a slight
difference. The yield statement returns a generator object to the
one who calls the function which contains yield, instead of
simply returning a value. The yield instruction takes the
current executing context as a closure, and transforms it into
an own living object. This object has a
iter method which will continue after this yield statement. So the
call stack gets transformed into a heap object.
20
 Range and x-range:


The range() and xrange() are two functions that could be used to
iterate a certain number of times in for loops in Python.
range() – This returns a range object (a type of iterable).
xrange() – This function returns the generator object that can be
used to display numbers only by looping. The only particular range is
displayed on demand and hence called “lazy evaluation“.
 Working with Context Managers:
Python provides an easy way to manage resources: Context
Managers. The with keyword is used. When it gets evaluated it
should result in an object that performs context management.
Context managers can be written using classes or functions(with
decorators) Context managers allow you to allocate and release
resources precisely when you want to. The most widely used
example of context managers is
21
the with statement. Suppose you have two related operations which
you'd like to execute as a pair, with a block of code in between.
 Wrapping Objects:
wrap(text, width=70, **kwargs): This function wraps the input
paragraph such that each line in the paragraph is at most width
characters long.
The wrap method returns a list of output lines. The returned list is
empty if the wrapped output has no content. Default width is taken
as 70. import textwrap. The preferred way of wrapping long lines is
by using Python's implied line continuation inside
parentheses, brackets and braces. Long lines can be broken
over multiple lines by wrapping expressions in parentheses. These
should be used in preference to using a backslash for line
continuation.
 Callback functions:
A callback is a function that is passed as an argument to other
function. This other function is expected to call this callback function
in its definition. The point at which other function calls our callback
function depends on the requirement and nature of other
function.Callback Functions are generally used with asynchronous
function.
22
 Duck Typing, Monkey Patching in Python:
 Duck Typing is a type system used in dynamic languages. For
example, Python, Perl, Ruby, PHP, Javascript, etc. where the type
or the class of an object is less important than the method it
defines. Using Duck Typing, we do not check types at all. Instead,
we check for the presence of a given method or attribute.
 The term monkey patch only refers to dynamic modifications of a
class or module at runtime, motivated by the intent to patch
existing third-party code as a workaround to a bug or feature
which does not act as you desire.

Encapsulating Object Creation: Factory :
Encapsulation in Python describes the concept of bundling data
and methods within a single unit. So, for example, when you
create a class, it
21
means you are implementing encapsulation. A class is an example of
encapsulation as it binds all the data members (instance variables) and
methods into a single unit.
MODULE 2
 Introduction to Threads in python:
Threading is a sequence of instructions in a program that can be
executed independently of the remaining process. You can see
them as different units of your process that do jobs independently
when scheduled. If they need to wait for a slow external operation
to finish (such as a network request, or disk access), they sleep for
a while and enable the scheduler to spend time executing another
thread.
22
 Thread module :
There are two modules which support the usage of threads in
Python: thread and threading Please note: The thread module has
been considered as "deprecated" for quite a long time. Users have
been encouraged to use the threading module instead. So, in
Python 3 the module "thread" is not available anymore. But that's
not really true: It has been renamed to "_thread" for backwards
incompatibilities in Python3.
The module "thread" treats a thread as a function, while the
module "threading" is implemented in an object oriented way, i.e.
every thread corresponds to an object.
 Threading module:
The threading module provided with Python includes a simple-toimplement locking mechanism that allows you to synchronize
threads. A new lock is created by calling the Lock() method, which
returns the new lock. The acquire(blocking) method of the new lock
object is used to force threads to run synchronously.



Active Count() − Returns the number of thread objects that are active.
Current Thread() − Returns the number of thread objects in the caller's thread
control.
enumerate() − Returns a list of all thread objects that are currently active.
23
 Introduction to Pipes in python:
pipe() method in Python is used to create a pipe. A pipe is a method
to pass information from one process to another process. It offers
only one-way communication and the passed information is held by the
system until it is read by the receiving process.
Syntax: os.pipe()
 Anonymous pipes:
Anonymous pipes are simple and lightweight pipes, designed to use
between the process that creates it and its child processes. Since
they are unnamed, the only way to use anonymous pipes is to
communicate its handle; there’s no name for the pipe that processes
use to obtain access to the pipe. This typically makes anonymous
pipes unsuitable for interprocess communication between unrelated
processes
24
 Named pipes, fifos :
os.mkfifo() method in Python is used to create a FIFO (a named
pipe) named path with the specified mode.
FIFOs are named pipe which can be accessed like other regular
files. This method only create FIFO but don’t open it and the
created FIFO does exist until they are deleted. FIFOs are generally
us as rendezvous between client and “server type processes.
Syntax: os.mkfifo(path, mode = 0o666, *, dir_fd = None)
 Introduction to Recursion:
Python also accepts function recursion, which means a defined
function can call itself.Recursion is a common mathematical and
programming concept. It means that a function calls itself. This has the
benefit of meaning that you can loop through data to reach a result.
25
 Recursive functions in Python:
Simple examples of a recursive function include the factorial, where
an integer is multiplied by itself while being incrementally
lowered. Many other self-referencing functions in a loop could be
called recursive functions, for example, where n = n + 1 given an
operating range. A recursive function is a function in code that refers
to itself for execution. Recursive functions can be simple or
elaborate. They allow for more efficient code writing, for instance, in
the listing or compiling of sets of numbers, strings or other variables
through a single reiterated process.

Depth of Recursion:
The maximum depth of recursion refers to the number of levels of
activation of a procedure which exist during the deepest call of
the procedure. The maximal number of nested calls (including the
first one) is called recursion depth. In our case, it will be exactly n .
The maximal recursion depth is limited by JavaScript engine.
We can rely on it being 10000, some engines allow more, but
100000 is probably out of limit for the majority of them.
26
MODULE 3
 CGI Programming:
Common Gateway Interface (also known as CGI) is not a kind of
language but just a specification(set of rules) that helps to establish a
dynamic interaction between a web application and the browser (or the
client application). The CGI programs make possible communication
between client and web servers. Whenever the client browser sends a
request to the webserver the CGI programs send the output back to the
web server based on the input provided by the client-server.
 CGI is the standard for programs to interface with HTTP servers.
 CGI programming is written dynamically generating webpages
that respond to user input or webpages that interact with
software on the server
27
 Introduction to WSGI :
WSGI is a specification, laid out in PEP 333, for a standardized
interface between Web servers and Python Web
frameworks/applications. The goal is to provide a relatively simple
yet comprehensive interface capable of supporting all (or most)
interactions between a Web server and a Web framework.
 Bottle Framework, Flask Framework:
 Flask is a Python web framework for building web applications. It is
based on Werkzeug and Jinja 2. It is a minimalist, 'no batteries
included' framework. Yet it can be scaled extensively and support
complex applications and use cases by adding required
functionality as needed. It follows the philosophy that if something
needs to be initialized, it should be initialized by the developer.
28
 Bottle is a fast, simple and lightweight WSGI micro webframework for Python. It is distributed as a single file module and
has no dependencies other than the Python Standard Library.
 Web Test Framework:
A web framework (WF) or web application framework (WAF) is a
software framework that is designed to support the
development of web applications including web services, web
resources, and web APIs. Web frameworks provide a standard
way to build and deploy web applications on the World Wide Web.
Python Web framework is a collection of packages or modules
that allow developers to write Web applications or services.
With it, developers don't need to handle low- level details like
protocols, sockets or process/thread management.
29
 Create a basic Web Service in python:
Web service ia s software system designed to support
interoperable machine-to-machine interaction over a
network. It has an interface described in a machineprocessable format, Web Services Description Language
1. About Creating Web Service References.
2. Creating a New Application.
3. Specifying an Application Proxy Server Address.
4. Creating a Web Service Reference from a WSDL. Create a Form and
Report.
5. Creating a Web Service Reference Manually. Create a Web Service
Reference Manually. Test the Web Service.
 Working with Databases :
SQLAlchemy is a Python library for implementing SQL
databases without using the SQL language itself. In other
words, all you need to do is to implement your database using the
Python language. To create a
connection between the MySQL database and Python, the
connect() method of mysql. connector module is used. We
pass the database details like HostName, username, and the
password in the method call, and then the method returns the
connection object.
30
Inserting data in MySQL table using python
1. import mysql. connector package.
2. Create a connection object using the mysql. connector. ...
3. Create a cursor object by invoking the cursor() method on the
connection object created above.
4. Then, execute the INSERT statement by passing it as a
parameter to the execute() method
 Connecting with Cassandra DB, SQLite3, MySQL:
In case of high availability and scalability Cassandra is always the
best choice to connect your application with Cassandra database.
cluster = Cluster(
cloud = {'secure_connection_bundle'
: '/path / to / secure-connect-database_name.zip'},
auth_provider = PlainTextAuthProvider('DBUsername',
'DBPassword')) # Database Credentials
session = cluster.connect()
SQLite is a self-contained, file-based SQL database. SQLite comes
bundled with Python and can be used in any of your Python
applications without having to install any additional
software.#!/usr/bin/python import sqlite3 conn = sqlite3.
connect('test. db') print "Opened database successfully"; Here, you can
31
also supply database name as the special name :memory: to create a
database in RAM
Create an SQLite Database in Python
1. Step 1: Import sqlite3 package. The first step is to import the sqlite3
package. ...
2. Step 2: Use connect() function. Use the connect() function of sqlite3 to
create a database. ...
3. Step 3: Create a database table. ...
4. Step 4: Commit these changes to the database. ...
5. Step 5: Close the connection
To create a connection between the MySQL database and
Python, the connect() method of mysql. connector module
is used. We pass the database details like HostName,
username, and the password in the method call, and then the
method returns the connection object.
 Database Operations:
CRUD is an acronym that stands for Create, Read, Update, and
Delete. These are the four most basic operations that can be
performed with most traditional database systems and they are
the backbone for interacting with any database
32
MODULE 4
 Network Programming:
Python provides two levels of access to network programming. These are
–


Low-Level Access: At the low level, you can access the basic socket
support of the operating system. You can implement client and server
for both connection-oriented and connectionless protocols.
High-Level Access: At the high level allows to implement protocols
like HTTP, FTP, etc
 Working with XML Files:
XML: XML stands for eXtensible Markup Language. It was
designed to store and transport data. It was designed to be both
human- and machine-readable.That’s why, the design goals of
XML emphasize simplicity, generality, and usability across the
Internet.
33
34
 Developing GUIs :
Python offers multiple options for developing GUI (Graphical User
Interface). Out of all the GUI methods, tkinter is the most commonly
used method. It is a standard Python interface to the Tk GUI toolkit
shipped with Python. Python with tkinter is the fastest and easiest
way to create the GUI applications. Creating a GUI using tkinter is
an easy task.
 Working with SMTP:
Simple Mail Transfer Protocol (SMTP) is a protocol, which handles
sending e-mail and routing e-mail between mail servers. Python
provides smtplib module, which defines an SMTP client
session object that can be used to send mail to any Internet
machine with an SMTP or ESMTP listener daemon. The
SMTP_SSL() method encapsulates an SMTP connection as
server. Since we are using the Google SMTP server we must
supply smtp.gmail.com for the host parameter. Then we supply the
port and then the context that we specified earlier. The login
method logs into an SMTP server that requires authentication
35
 Integrating Python with other Languages:
Python is also an Integrated language because we can easily integrate
Python with other languages like C, C++, etc.Python is an interpreted
programming language that emphasizes code readability. It has also been
called a “glue language” because of how easy it is to integrate Python
with other components. The next advantage of Python is that it is also
an interpreted language that helps in directly executing the code line by
line. Also, if any error occurs,, the language stops execution and reports
back the error.
Python showcases various errors as one error making debugging easier.
36
Conclusion
Python is a computer programming language often used to build
websites and software, automate tasks, and conduct data analysis.
Python is a general- purpose language, meaning it can be used to create
a variety of different programs and isn't specialized for any specific
problems. Python programming is intended for software engineers,
system analysts, program managers and user support personnel who
wish to learn the Python programming language.
Learning Outcomes: Problem solving and programming capability.
Python provides a better structure and support for large programs than
shell scripting. Support for functional and structured programming
methods as well as OOP. It can be used as a scripting language or can
be compiled to byte-code for building large applications.
When students complete Intro to Programming with Python, they will be
able to: Build basic programs using fundamental programming
constructs like variables, conditional logic, looping, and functions.
Work with user input to create fun and interactive programs








Features in Python:
Free and Open Source. ...
Easy to code. ...
Object-Oriented Language. ...
GUI Programming Support. ...
High-Level Language. ...
Extensible feature. ...
Python is a Portable language. ...
Python is an Integrated language.
37
Download