Leela Soft Python Madhu
Python History
Python laid its foundation in the late 1980s.
The implementation of Python was started in the December 1989 by Guido Van
Rossum.
In February 1991, van Rossum published the code.
Python Introduction:
"Python is a programming language that lets our work more quickly and integrates our
systems more effectively."
Python is a general purpose, dynamic, high level and interpreted programming language. It
supports Object Oriented programming approach to develop applications.
Python is easy to learn yet powerful and versatile scripting language which makes it attractive
for Application Development.
Python's syntax and dynamic typing with its interpreted nature, makes it an ideal language for
scripting and rapid application development.
Python supports multiple programming pattern, including object oriented, imperative and
functional or procedural programming styles.
Python makes the development and debugging fast because there is no compilation step
included in python development and edit-test-debug cycle is very fast.
Why the name Python?
No. It wasn't named after a dangerous snake. Rossum was fan of a comedy series from late
seventies. The name "Python" was adopted from the same series "Monty Python's Flying
Circus". Python was named for the BBC TV show Monty Python's Flying Circus.
Python is derived from:
Functional Programming from C Language
OOP from C++
Scripting language features from Perl and Shell script
Modular programming features from Modula-3
Syntaxes from C and ABC languages
www.leelasoft.com Cell: 78 42 66 47 66
Leela Soft Python Madhu
Where we can use Python:
Python is known for its general-purpose nature that makes it applicable in almost each domain
of software development.
Desktop Applications.
Web applications (DJango*, TurboGears, web2py, Flask,…)
Database Applications* (SQL)
Networking Applications
Games
Data Analysis
Machine Learning
AI
IoT
Which companies used Python?
Google
Youtube
Dropbox
NASA
Features of Python:
1. Simple and easy to learn:
Python is a simple programming language. When we read Python program, we can feel
like reading English statements.
The syntaxes are very simple and only 35 (up to 3.7v) keywords are available.
When compared with other languages, we can write programs with very a smaller
number of lines. Hence more readability and simplicity.
We can reduce development and cost of the project.
2. Freeware and Open Source:
We can use Python software without any license and it is freeware.
Its source code is open, so that we can we can customize based on our requirement.
Example: Jython is customized version of Python to work with Java Applications.
3. High Level Programming language:
Python is high level programming language and hence it is programmer friendly
language.
Being a programmer, we are not required to concentrate low level activities like
memory management and security etc.
www.leelasoft.com Cell: 78 42 66 47 66
Leela Soft Python Madhu
4. Platform Independent:
Once we write a Python program, it can run on any platform without rewriting once
again.
Internally PVM is responsible to convert into machine understandable form.
5. Portability:
Python programs are portable. ie we can migrate from one platform to another
platform very easily. Python programs will provide same results on any paltform.
6. Dynamically Typed:
In Python we are not required to declare type for variables. Whenever we are assigning
the value, based on value, type will be allocated automatically. Hence Python is
considered as dynamically typed language.
But Java, C etc. are Statically Typed Languages b'z we have to provide type at the
beginning only.
This dynamic typing nature will provide more flexibility to the programmer.
7. Both Procedure Oriented and Object Oriented:
Python language supports both Procedure oriented (like C, pascal etc.,) and object
oriented (like C++, Java) features. Hence, we can get benefits of both like security and
reusability etc.
8. Interpreted:
We are not required to compile Python programs explicitly. Internally Python
interpreter will take care that compilation.
If compilation fails interpreter raised syntax errors. Once compilation success then PVM
(Python Virtual Machine) is responsible to execute.
9. Extensible:
We can use other language programs in Python.
The main advantages of this approach are:
o We can use already existing legacy non-Python code
o We can improve performance of the application
10. Embedded:
We can use Python programs in any other language programs. i.e. we can embed
Python programs anywhere.
www.leelasoft.com Cell: 78 42 66 47 66
Leela Soft Python Madhu
11. Extensive Library:
Python has a rich inbuilt library.
Being a programmer, we can use this library directly and we are not responsible to
implement the functionality.
Limitations of Python:
Performance wise not up to the mark because it is interpreted language.
Not using for mobile Applications
Different flavors of Python
1) Cpython: The base of all these implementations is Cpython or more formally known as
python. It is written in C and is a bytecode interpreter. Our bytecode is executed on CPython
Virtual Machine.
2) Jython: Jython, is an implementation of the Python programming language which is designed
to run on the Java Platform. It has compiler which compiles our python code into Java
bytecode.
3) IronPython: IronPython is another implementation of the Python targeting the .NET
Framework. It is entirely written in C# and runs on .NET virtual machine (That is nothing but CLR
(Common Language Runtime)). Again we can import C# classes into IronPython.
4) Pypy: Pypy is actually bit different than other implementations its primary focus is to
overcome drawbacks (so called) of python. It is a Python interpreter and just-in-time compiler.
It is written in Python itself.
5) RubyPython: A bridge between the Ruby and Python interpreters. It embeds a running
Python interpreter in the Ruby applications.
6) Anaconda Python: Anaconda is a free and open source distribution of the Python and R
programming languages for data science and machine learning related applications that aims to
simplify package management and deployment.
7) Stackless Python: Stackless Python is a reimplementation of traditional python and its key
point is lightweight threading. We can say its branch of CPython supporting micro threads.
Python Version
Python programming language is being updated regularly with new features and supports.
There are lots of updating in python versions, started from 1994 to current release.
www.leelasoft.com Cell: 78 42 66 47 66
Leela Soft Python Madhu
Python Versions:
Python 1.0 January 1994
Python 2.0 October 2000 (support up to 2020)
Python 3.0 December 2008
Note: Any new version should provide support for old version programs in Software
programming languages. But not in allowed Python.
www.leelasoft.com Cell: 78 42 66 47 66