Python Introduction
Python is a high-level, interpreted, interactive and object-oriented
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
languages.
Python is Interpreted − Python is processed at runtime by the
interpreter. You do not need to compile your program before
executing it. This is similar to PERL and PHP.
Python is Interactive − You can actually sit at a Python prompt
and interact with the interpreter directly to write your programs.
Python is Object-Oriented − Python supports Object-Oriented
style or technique of programming that encapsulates code within
objects.
Python is a Beginner's Language − Python is a great
language for the beginner-level programmers and supports the
development of a wide range of applications from simple text
processing to WWW browsers to games.
Python is an open-source and cross-platform programming
language. It is available for use under Python Software
Foundation License (compatible to GNU General Public License)
1|Page
on all the major operating system platforms Linux, Windows and
Mac OS.
To facilitate new features and to maintain that readability, the
Python Enhancement Proposal (PEP) process was developed. This
process allows anyone to submit a PEP for a new feature, library,
or other addition.
The design philosophy of Python emphasizes on simplicity,
readability and unambiguity. Python is known for its batteries
included approach as Python software is distributed with a
comprehensive standard library of functions and modules.
Python's design philosophy is documented in the Zen of Python.
It consists of nineteen aphorisms such as −
Beautiful is better than ugly
Explicit is better than implicit
Simple is better than complex
Complex is better than complicated
To obtain the complete Zen of Python document, type import
this in the Python Shell −
>>>import this
This will produce following 19 aphorisms -
Beautiful is better than ugly. Explicit is better than implicit.
2|Page
Simple is better than complex. Complex is better than
complicated. Flat is better than nested. Sparse is better than
dense. Readability counts. Special cases aren't special enough to
break the rules. Although practicality beats purity. Errors should
never pass silently. Unless explicitly silenced. In the face of
ambiguity, refuse the temptation to guess. There should be one--
and preferably only one --obvious way to do it. Although that way
may not be obvious at first unless you're Dutch. Now is better
than never. Although never is often better than *right* now. If the
implementation is hard to explain, it's a bad idea. If the
implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
Python supports imperative, structured as well as object-oriented
programming methodology. It provides features of functional
programming as well.
Pythonic Code Style
Python leaves you free to choose to program in an object-
oriented, procedural, functional, aspect-oriented, or even logic-
oriented way. These freedoms make Python a great language to
write clean and beautiful code.
Pythonic Code Style is actually more of a design philosophy and
suggests to write a code which is :
Clean
3|Page
Simple
Beautiful
Explicit
Readable
Python is a feature-rich, high-level, interpreted, interactive, and
object-oriented scripting language. Python is a versatile and very
popular programming language due to its features such as
readability, simplicity, extensive libraries, and many more. In this
tutorial, we will learn about the various features of Python that
make it a powerful and versatile programming language.
Python's most important features are as follows:
Easy to Learn
This is one of the most important reasons for the popularity of
Python. Python has a limited set of keywords. Its features such as
4|Page
simple syntax, usage of indentation to avoid clutter of curly
brackets and dynamic typing that doesn't necessitate prior
declaration of variable help a beginner to learn Python quickly
and easily.
Dynamically Typed
Python is a dynamically typed programming language. In Python,
you don't need to specify the variable time at the time of the
variable declaration. The types are specified at the runtime based
on the assigned value due to its dynamically typed feature.
Interpreter Based
Instructions in any programming languages must be translated
into machine code for the processor to execute them.
Programming languages are either compiler based or interpreter
based.
In case of a compiler, a machine language version of the entire
source program is generated. The conversion fails even if there is
a single erroneous statement. Hence, the development process is
tedious for the beginners. The C family languages
(including C, C++, Java, C# etc) are compiler based.
Python is an interpreter based language. The interpreter takes
one instruction from the source code at a time, translates it into
machine code and executes it. Instructions before the first
occurrence of error are executed. With this feature, it is easier to
5|Page
debug the program and thus proves useful for the beginner level
programmer to gain confidence gradually. Python therefore is a
beginner-friendly language.
Interactive
Standard Python distribution comes with an interactive shell that
works on the principle of REPL (Read Evaluate Print Loop). The
shell presents a Python prompt >>>. You can type any valid
Python expression and press Enter. Python interpreter
immediately returns the response and the prompt comes back to
read the next expression.
>>> 2*3+1
7
>>> print ("Hello World")
Hello World
The interactive mode is especially useful to get familiar with a
library and test out its functionality. You can try out small code
snippets in interactive mode before writing a program.
Multi-paradigm
Python is a completely object-oriented language. Everything in a
Python program is an object. However, Python conveniently
encapsulates its object orientation to be used as an imperative or
procedural language such as C. Python also provides certain
functionality that resembles functional programming. Moreover,
6|Page
certain third-party tools have been developed to support other
programming paradigms such as aspect-oriented and logic
programming.
Standard Library
Even though it has a very few keywords (only Thirty Five), Python
software is distributed with a standard library made of large
number of modules and packages. Thus Python has out of box
support for programming needs such as serialization, data
compression, internet data handling, and many more. Python is
known for its batteries included approach.
Open Source and Cross Platform
Python's standard distribution can be downloaded
from [Link] without any restrictions.
You can download pre-compiled binaries for various operating
system platforms. In addition, the source code is also freely
available, which is why it comes under open source category.
Python software (along with the documentation) is distributed
under Python Software Foundation License. It is a BSD style
permissive software license and compatible to GNU GPL (General
Public License).
Python is a cross-platform language. Pre-compiled binaries are
available for use on various operating system platforms such
as Windows, Linux, Mac OS, Android OS. The reference
7|Page
implementation of Python is called CPython and is written in C.
You can download the source code and compile it for your OS
platform.
A Python program is first compiled to an intermediate platform
independent byte code. The virtual machine inside the interpreter
then executes the byte code. This behaviour makes Python a
cross-platform language, and thus a Python program can be
easily ported from one OS platform to other.
GUI Applications
Python's standard distribution has an excellent graphics library
called TKinter. It is a Python port for the vastly popular GUI toolkit
called TCL/Tk. You can build attractive user-friendly GUI
applications in Python. GUI toolkits are generally written in C/C+
+. Many of them have been ported to Python. Examples
are PyQt, WxWidgets, PySimpleGUI etc.
Database Connectivity
Almost any type of database can be used as a backend with the
Python application. DB-API is a set of specifications for database
driver software to let Python communicate with a relational
database. With many third party libraries, Python can also work
with NoSQL databases such as MongoDB.
Extensible
8|Page
The term extensibility implies the ability to add new features or
modify existing features. As stated earlier, CPython (which is
Python's reference implementation) is written in C. Hence one can
easily write modules/libraries in C and incorporate them in the
standard library. There are other implementations of Python such
as Jython (written in Java) and IPython (written in C#). Hence, it is
possible to write and merge new functionality in these
implementations with Java and C# respectively.
Active Developer Community
As a result of Python's popularity and open-source nature, a large
number of Python developers often interact with online forums
and conferences. Python Software Foundation also has a
significant member base, involved in the organization's mission to
"Promote, Protect, and Advance the Python Programming
Language"
Python also enjoys a significant institutional support. Major IT
companies Google, Microsoft, and Meta contribute immensely by
preparing documentation and other resources.
Apart from the above-mentioned features, Python has another big
list of good features, few are listed below −
It supports functional and structured programming methods as
well as OOP.
9|Page
It can be used as a scripting language or can be compiled to
byte-code for building large applications.
It provides very high-level dynamic data types and supports
dynamic type checking.
It supports automatic garbage collection.
It can be easily integrated with C, C++, COM, ActiveX, CORBA,
and Java.
10 | P a g e