Introduction To Python: After Reading This Chapter, The Reader Will Be Able To
Introduction To Python: After Reading This Chapter, The Reader Will Be Able To
Introduction To Python: After Reading This Chapter, The Reader Will Be Able To
INTRODUCTION TO PYTHON
After reading this chapter, the reader will be able to
• Understand the chronology of Python
• Appreciate the importance and features of Python
• Discover the areas in which Python can be used
• Install Anaconda
1.1 INTRODUCTION
Art is an expression of human creative skill, hence programming is an art. The
choice of programming language is, therefore, important. This book introduces
Python, which will help you to become a great artist. A. J. Perlis, who was a
professor at the Purdue University, and who was the recipient of the first Turing
award, stated
“A language that doesn’t affect the way you think about programming is
not worth knowing.”
Python is worth knowing. Learning Python will not only motivate you to do
highly complex tasks in the simplest manners but will also demolish the myths
of conventional programming paradigms. It is a language which will change the
way you program and hence look at a problem.
There are many third party modules for accomplishing the above tasks. For
example Django, an immensely popular Web framework dedicated to clean and
fast development, is developed on Python. This, along with the support for
HTML, E-mails, FTP, etc., makes it a good choice for web development.
Third party libraries are also available for software development. One of the
most common examples is Scions, which is used for build controls. When joined
with the inbuilt features and support, Python also works miracles for GUI
development and for developing mobile applications, e.g., Kivy is used for
developing multi-touch applications.
Python also finds its applications in scientific analysis. SciPy is used for
Engineering and Mathematics, and IPython is used for parallel computing. Those
of you working in statistics and machine learning would find some of these
libraries extremely useful and easy to use. SciPy provides
MATLABMATLABMATLAB like features and can be used for processing
multidimensional arrays. Figure 1.1 summarizes the above discussion.
This chapter introduces the Python programming language. The chapter has been
organized as follows. Section 1.2 discusses the features of Python, Section 1.3
discusses the paradigms and Section 1.4 discusses the development and uses.
The installation of Anaconda has been introduced in Section 1.5. The last section
concludes the chapter.
1.2.1 Easy
Python is easy to learn and understand. As a matter of fact, if you are from a
programming background you will find it elegant and uncluttered. The removal
of braces and parentheses makes the code short and sweet. Also, some of the
tasks in Python are pretty easy. For example, swapping numbers in Python is as
easy as writing (a, b)= (b, a).
It may also be stated here that learning something new is an involved and
intricate task. However, the simplicity of Python makes it almost a cake walk.
Moreover, learning advanced features in Python is a bit intricate, but is worth the
effort. It is also easy to understand a project written in Python. The code, in
Python, is concise and effective and therefore understandable and manageable.
In most projects, testing something new requires scores of changes and therefore
recompilations and re-runs. This makes testing of code a difficult and time
consuming task. In Python, a code can be run easily. As a matter of fact, we run
scripts in Python.
As we will see later in this chapter, Python also provides the user with an
interactive environment, in which one can run independent commands.
1.2.3 Syntax
The syntax of Python is easy; this makes the learning and understanding process
easy. According to most of authors, the three main features which make Python
attractive are that it’s simple, small, and flexible.
1.2.4 Mixing
If one is working on a big project, with perhaps a large team, it might be the case
that some of the team members are good in other programming languages. This
may lead to some of the modules in some other languages wanting to be
embedded with the core Python code. Python allows and even supports this.
Python has its own way of managing memory associated with objects. When an
object is created in Python, memory is dynamically allocated to it. When the life
cycle of the object ends, the memory is taken back from it. This memory
management of Python makes the programs more efficient.
As we will see in the next chapter Python has built in object types. This makes
the task to be accomplished easy and manageable. Moreover, the issues related
to these objects are beautifully handled by the language.
1.2.8 Portable
1.2.9 Free
Python is not propriety software. One can download Python compilers from
among the various available choices. Moreover, there are no known legal issues
involved in the distribution of the code developed in Python.
1.3 THE PARADIGMS
1.3.1 Procedural
1.3.2 Object-Oriented
This type of language primarily focuses on the instance of a class. The instance
of a class is called an object. A class is a real or a virtual entity that has an
importance to the problem at hand, and has sharp physical boundaries. For
example in a program that deals with student management, “student” can be a
class. Its instances are made and the task at hand can be accomplished by
communicating via methods. Python is object-oriented. Section 2 of this book
deals with the object-oriented programming.
1.3.3 Functional
1.4.1 Chronology
Python is written in C. It was developed by Guido Van Rossum, who is now the
Benevolent Director for Life of Python. The reader is expected to take note of
the fact that Python has got nothing to do with pythons or snakes. The name of
the language comes from the show “Monty Python’s Flying Circus,” which was
one of the favorite shows of the developer, Guido van Rossum. Many people
attribute the fun part of the language to the inspiration.
Python is easy to learn as the core of the language is pretty concise. The
simplicity of Python can also be attributed to the desire of the developers to
make a language that was very simple, easy to learn but quite powerful.
1.4.2 Uses
Python is being used to accomplish many tasks, the most important of which are
as follows:
If you are working in Unix or Linux, you don’t need to install Python. This is
because in Unix and Linux systems, Python is generally pre-installed. However,
if you work in Windows or Mac then you need to download Python. Once you
have decided to download Python, look for its latest version. The reader is
requested to ensure that the version he/she intends to download is not an alpha or
a beta version. Reference 1 at the end of the book gives a brief overview of
distinctions between two of the most famous versions. The next section briefly
discusses the steps for downloading Anaconda, an open source distribution
software.
Many development environments are available for Python. Some of them are as
follows:
There are some more options available. However, this book uses IDLE and
Anaconda. The next section presents the steps involved in the installation of
Anaconda.
First of all, one must choose the installer (32 bit or 64 bit). In order to do so,
click on the selected installer and download the .exe file. The installer will ask
you to install it on the default location. You can provide a location that does not
contain any spaces or Unicode characters. It may happen that during the
installation you might have to disable your anti-virus software. Figures 1.2(a) to
1.2(g) take the reader through the steps of installation.
FIGURE 1.2(a) The welcome screen of the installer, which asks the user to close all running
applications and then click Next
FIGURE 1.2(b) The license agreement to install Anaconda3 4.3.0 (32 bit)
FIGURE 1.2(c) In the third step, the user is required to choose whether he wants to install
Anaconda for a single user or for all the users
FIGURE 1.2(d) The user then needs to select the folder in which it will install
FIGURE 1.2(e) The user then must decide whether he wants to add Anaconda to path
environment variable and whether to register Anaconda as the default Python 3.6
The installation then starts. After installation, the following screen will appear:
Once Anaconda is installed, you can open Anaconda and run your scripts. Figure
1.3 shows the Anaconda navigator. From the various options available you can
choose the appropriate option for you. For example, you can open the
QTConsole and run the commands/ scripts. Figure 1.4 shows the snapshot of
QTConsole. The commands written may appear gibberish at this point, but will
become clear in the chapters that follow.
1.6 CONCLUSION
Before proceeding any further, the reader must take note of the fact that some
things in Python are different when compared to any other language. The
following points must be noted to avoid any confusion.
Choice at every step is good but can also be intimidating. As stated earlier,
Python’s core is small and therefore it is easy to learn. Moreover, there are some
things like (if/else), loops and exception handling which are used in almost all
the programs.
The chapter introduces Python and discusses the features of Python. One must
appreciate the fact that Python supports all three paradigms: procedural, object-
oriented, and functional. This chapter also paves the way for the topics presented
in the following chapters. It may also be stated that the codes presented in this
book will run on versions 3.X.
GLOSSARY
PEP: Python Enhancement Project
POINTS TO REMEMBER
Python is a strong procedural, object-oriented, functional language crafted
in late 1980s by Guido Van Rossum.
Python is open source.
The applications of Python include software development, web
development, desktop GUI development, education and scientific
applications.
Python is popular due to its simplicity and robustness.
It is easy to interface with C++ and Java.
SciPy is used for engineering and mathematics, IPython for parallel
computing etc., Scions is used for build control.
The various development environments for Python are PyDev with Eclipse,
Emacs, Vim, TextMate, Gedit, Idle, PIDA (Linux)(VIM Based), NotePad++
(Windows), and BlueFish (Linux).
RESOURCES
To download Python, visit www.python.org
The documentation is available at www.python.org/doc/
EXERCISES
MULTIPLE CHOICE QUESTIONS
5. Python has
(a) Built in object types
(b) Data types
(c) Both
(d) None of the above
6. Python is a
(a) Procedural language
(b) object-oriented Language
(c) Fictional
(d) All of the above
9. PEP is
(a) Python Ending Procedure
(b) Python Enhancement proposal
(c) Python Endearment Project
(d) none of the above
10. PSF is
(a) Python Software Foundation
(b) Python Selection Function
(c) Python segregation function
(d) None of the above
11. What can be done in Python
(a) GUI
(b) Internet scripting
(c) Games
(d) All of the above
4. What is PEP?
5. What is PSF?