The Python language had a humble beginning in the late 1980s when a Dutchman Guido Von Rossum started working on a fun project, which would be a successor to ABC language with better exception handling and capability to interface with OS Amoeba at Centrum Wiskunde and Informatica. It first appeared in 1991. Python 2.0 was released in the year 2000 and Python 3.0 was released in the year 2008. The language was named Python after the famous British television comedy show Monty Python's Flying Circus, which was one of Guido's favorite television programmes. Here we will see why Python has suddenly influenced our lives and the various applications that use Python and its implementations. In this chapter, you will be learning the basic installation steps that are required to perform on different platforms (that is Windows, Linux, and Mac), about environment variables, setting up of environment variables, file formats, Python interactive shell, basic syntaxes and finally printing out formatted output.
Now you might be suddenly bogged with the question, why Python? According to Institute of Electrical and Electronics Engineers (IEEE) 2016 ranking Python ranked third after C and Java. As per Indeed.com's data of 2016, the Python job market search ranked fifth. Clearly, all the data points to the ever rising demand in the job market for Python. Its a cool language if you want to learn just for fun or if you want to build your career around Python, you will adore the language. At school level, many schools have started including Python programming for kids. With new technologies taking the market by surprise Python has been playing a dominant role. Whether it is cloud platform, mobile app development, BigData, IoT with Raspberry Pi, or the new Blockchain technology, Python is being seen as a niche language platform to develop and deliver a scalable and robust applications.
Some key features of the language are:
- Python programs can run on any platform, you can carry code created in Windows machine and run it on Mac or Linux
- Python has inbuilt large library with prebuilt and portable functionality, also known as the standard library
- Python is an expressive language
- Python is free and open source
- Python code is about one third of the size of equivalent C++ and Java code
- Python can be both dynamically and strongly typed--dynamically typed means it is a type of variable that is interpreted at runtime, which means, in Python, there is no need to define the type (
float) of the variable
One of the most famous platforms where Python is extensively used is YouTube. The other places where you will find Python being extensively used are the special effects in Hollywood movies, drug evolution and discovery, traffic control systems, ERP systems, cloud hosting, e-commerce platform, CRM systems, and whatever field you can think of.
At the time of writing this book, two main versions of the Python programming language were available in the market, which are Python 2.x and Python 3.x. The stable release as of writing the book were Python 2.7.13 and Python 3.6.0.
Here we will look forward to the installation of Python on three different OS platforms, namely, Windows, Linux, and Mac OS. Let's begin with the Windows platform.
Python 2.x can be downloaded from https://www.python.org/downloads. The installer is simple and easy to install. Perform the following steps to install the setup:
- Once you click on setup installer, you will get a small window on your desktop screen as shown here; click on
- Provide a suitable installation folder to install Python. If you don't provide the installation folder, then the installer will automatically create an installation folder for you, as shown in the following screenshot. Click on
- After completion of step 2, you will get a window to customize Python as shown in the preceding screenshot. Notice that the
Add python.exe to Pathoption has been marked
x. Select this option to add it to system path variable (which will be explained later in the chapter), and click on
- Finally, click on
Finishto complete the installation:
These days most of the Linux-based systems come preloaded with Python, so in most cases, you do not need to install it separately. However, if you do not find your desired version of Python on the Linux platform, you can download your desired version for a particular Linux platform from the site https://www.python.org/downloads/source/. Perform the following steps:
- Extract the compressed file using the
tar -xvzf python_versionx.xcommand.
- Browse the directory of the compressed file as shown in the screenshot:
- Run the following commands:
[root@localhost Python-2.7.12]# ./configure [root@localhost Python-2.7.12]# make [root@localhost Python-2.7.12]# make install
- Use the command as shown in screenshot to ensure that Python is running:
For Mac OS, you will get the installer from the site https://www.python.org/downloads/mac-osx/.
For the new Mac OS X, Sierra comes loaded with Python 2.7 and it's good for learning but the same cannot be used to develop advanced-level programs. You do not need to separately install Python on the new Mac OS X. However, a word of caution is that the version of Python packed with the Mac OS could be out of date and might require updating. If you still want to install a separate version, you can follow the simple steps mentioned as follows:
- First of all, you might require to install Xcode, Xcode is the IDE for platform and can be downloaded from the Apple appstore.
- Once Xcode is installed, you need to install the command-line tools, which can be installed by running the
xcode-select --installcommand on the terminal found under
/Applications/Utilities/, as shown in the following screenshot:
- A pop-up window appears with three different options as shown here:
- Once you click on
Installand agree to their terms and conditions, the command-line tools will start to download and will be installed in few minutes depending on the Internet connection.
The next step in the process would be to install Homebrew, which is a package manager for Mac OS and handles the Python package. In order to install Homebrew, simply provide the following inputs to the terminal:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- To install the latest
python2version, simply type
brew install pythonon the terminal:
$ brew install python
Notepad++ is one of the easy-to-use text editors and is a free open source software program, which could be easily downloaded from https://notepad-plus-plus.org/. We will be using this text editor to create simple programs.
Every language understands a file format, for example, like the C language file extension is
.c likewise java language has a file extension
.java. The Python file extension is
.py while bytecode file extension is
Python interactive shell is also known as Integrated Development Environment (IDLE). With the Python installer, two interactive shells are provided: one is IDLE (Python GUI) and the other is Python (command line). Both can be used for running simple programs.
For complex programs and executing large files, the windows command prompt is used, where after the system variables are set automatically, large files are recognized and executed by the system.
The preceding screenshot is what we call Python IDLE, which comes bundled with the Python installation. The next screenshot is of the command line that also comes bundled with the Python installation, or we can simply launch the Python command through the windows command line and get Python command line. For most of our programming instructions, we will be using the Python command line:
If you remember the installation steps explained earlier, you might be still thinking what are system variables? They are a set of predefined variables, which are available to all programming units. If it's not set, then each and every time you want to run your program or execute a Python file, you will have to manually provide path for each Python executable, but if
python.exe is set as a system variable, then the system automatically recognizes your programming instruction and starts executing.
python.exe is not provided to the path variable, then the system does not recognize
python as a command, as shown in the following screenshot:
The Windows command prompt does not recognize
python as shown in the previous screenshot. Once Python has been updated in the path variables or system variables, the windows command line recognizes the
python command and executes as shown here:
During installation, the installer provides an option to set system variables, which we have seen in our installation steps. But in case you missed that out, you need not worry. You can manually set the system variables. Simply follow these steps:
- Just right-click on
My Computer (older version of Windows PC)or Computer (win 7 onwards) and select
Properties. Once you have selected the properties, you will get the following screenshot where you need to select
Advanced system settings:
- After you have clicked on
Advanced system settings, you will get
System Properties. Click on the
- After completing Step 2, a window will pop up. From the
System variablespane, select
Pathand click on the
- Your Python installation will look something like the following screenshot, where you need to right-click on the address bar and select the
Copy address as textoption:
- Add the Python installation folder path to the
- Click on
OKand then again on
OKto close all the windows. Our system variable is set:
Linux comes with different types of shells and the Python directory path is usually
- csh shell: Open the terminal and enter
setenv PATH "$PATH:/usr/local/bin/python"followed by pressing Enter
- bash shell: On the terminal, enter
export PATH="$PATH:/usr/local/bin/python"followed by pressing Enter
- sh or ksh shell: Enter
PATH="$PATH:/usr/local/bin/python"followed by pressing Enter
Congratulations on your successful installation. Now you can start programming. Open Notepad++ and create a new file. In the new file, type the following:
print "Hello World!"
Save the file as
Open the command prompt and traverse to the folder where your file is located using
cd and then the path of the folder. For executing the file, the command will be
python hello.py as shown in the following screenshot:
It is quite easy, isn't it? Likewise, you can execute all the Python files. Once you start working on projects and large files, it's always good to remain organized by creating a folder structure.
Basic syntaxes can be referred to as simple guidelines that every programming language requires. Let's try to understand from our daily lives. Let's say you can't eat your food without having it dressed and placed properly on the platter. You need to have proper dressing of food before you can consume it. You prepare a special drink comprising three measures of Gordon gin, one of vodka, half of Kina Lillet, and follow the process to mix in steps. The process is necessary to have a perfect blend. These are sort of syntaxes when we talk in terms of programming languages.
Kina Lillet-Lillet (French pronunciation: [li'le]), classed as an aromatized wine within EU law, is a French aperitif wine from Podensac, a small village south of Bordeaux. It is a blend of 85% Bordeaux region wines (Semillon for the Blanc and for the Rosé, Merlot for the Rouge) and 15% macerated liqueurs, mostly citrus liqueurs (peels of sweet oranges from Spain and Morocco and peels of bitter green oranges from Haiti). The mix is then stirred in oak vats until blended. During the aging process, Lillet is handled as a Bordeaux wine (undergoing fining, racking, filtering, and so on).The preceding information has been taken from https://en.wikipedia.org/wiki/Lillet.
In Python, there are two types of comments--one is a single-line comment and the other is multiline comment. For a single-line comment,
# is used, while for a multiline comment, triple quotes
""" are used:
#This is a single line comment in Python print "Hello World" #This is a single comment in Python """ For multi-line comment use three double quotes ... """ print "Hello World!"
Python doesn't care if you use single quotes or double quotes to print a single statement. But, surely, both has some significance while printing complex statements, which we will see soon.
print "Hello World!" and
print 'Hello World!' will give the same output
Hello World! two times:
How will you print something like this:
I am mad in love do you think I am doing the right thing? One way is to enclose the complete thing within the triple quotes as shown here:
print '''I am mad in love do you think I am doing the right thing '''
Alternatively, you can also use double quotes three times to achieve the same thing:
print """I am mad in love do you think I am doing the right thing """
The preceding two examples are not in formatted form, they are just to show how we can achieve multiline printing.
Let's try another example. What should be the outcome of the following statement?
print 'Hey there it's a cow'
The preceding piece of code gives the following results:
C:pydev>python hello.py File "hello.py", line 1 print 'Hey there it's a cow' ^ SyntaxError: invalid syntax
Python simply interprets that the statement terminated with a single quote after it. The solution is to enclose the complete sentence within double quotes as shown:
print "Hey there it's a cow"
Adding double quotes (
") gives an error-free output as shown:
C:pydev>python hello.py Hey there it's a cow
The Python back slash is used for continuation of the
print "Hello world "
This gives the following output:
C:pydev>python hello.py Hello world
For printing a string, either a pair of single (
' ') quotes or pair of double quotes (
" ") can be used as shown in the succeeding examples:
print "Hello World 'Mr' Bond" print 'old world "but" still good'
This gives the following results:
C:pydev>python hello.py Hello World 'Mr' Bond old world "but" still good
The escape sequence is used to insert the tab, the newline, the backspace, and other special characters into your code. They give you greater control and flexibility to format your statements and code:
Sound system bell
Single quotation mark
Double quotation mark
print 'a' print 'tHermit' print "i know , they are 'great'"
The output is as follows:
C:pydev>python hello.py Hermit i know , they are 'great'
The preceding code executes with a beep sound. If you did not hear the beep sound, check your speakers.
Two strings can be joined using the
print "Only way to join" + "two strings"
The following is the output of the preceding code:
C:pydev>python string_concatenation.py Only way to join two strings
Consider an example where you would want to print the name, marks, and the age of the person:
print "Name", "Marks", "Age" print "John Doe", 80.67, "27" print "Bhaskar", 76.908, "27" print "Mohit", 56.98, "25"
The output will be as follows:
C:pydev>python hello.py Name Marks Age John Doe 80.67 27 Bhaskar 76.908 27 Mohit 56.98 25
You can see the output, but the output that is displayed is not formatted. Python allows you to set the formatted output. If you have done some coding in C language, then you should be familiar with
%s. In order to represent an integer
%d is used,
%f is used for float, and
%s is used for string. If you used
%5d, it means 5 spaces. If you used
%5.2f, it means
5 spaces and
.2 means precision. The decimal part of the number or the precision is set to 2. Let's use the formatting on the preceding example:
print "Name Marks Age" print ( "%s %14.2f %11d" % ("John Doe", 80.67, 27)) print ( "%s %12.2f %11d" %("Bhaskar" ,76.901, 27)) print ( "%s %3.2f %11d" %("Mohit", 56.98, 25))
The output we get is as follows:
C:pydev>python hello.py Name Marks Age John Doe 80.67 27 Bhaskar 76.90 27 Mohit 56.98 25
The preceding output is much better than the previous one. You can see
76.901 set to
The most unique characteristic of Python, unlike other programming languages, is indentation. Indentation not only makes Python code readable, but also distinguishes each block of code from the other. Let's explain this with an example:
def fun(): pass for each in "Australia": pass
While writing the code, a new block of code starts with a colon followed by a tab. Here, after the function
fun(), a colon is provided which will start the function body,
pass is part of the function
fun() and it is placed at one tab space. Likewise, the for loop starts with a colon. Here, most people get confused whether to use a tab or space. It is advisable to stick to only one type and follow the same across the whole code. If the indentation is not strictly implemented, then code execution will throw an error.
So far, we did a walkthrough of the beginning and the brief history of Python. We looked through various implementations and flavors of Python. We also learned about installation on various platforms. We learned about basic syntaxes that are used in writing the code and also we learned about various escape sequences that would make writing the code simple. We finally learned about the importance of indentation in Python.
In the next chapter, we will see immutable data types.