Operation Manual

Chapter 11: An Introduction to Python
The Raspberry Pi gets the first half of its name from a long-standing tradition of using fruit to name new computing systems
from classic microcomputers like the Acorn, Apricot and Tangerine to more recognisably modern brands including Apple and
BlackBerrybut the second half comes courtesy of the Python programming language.
Introducing Python
Flexible and powerful, Python was originally developed in the late 1980s at the National Research Institute for Mathematics and
Computer Science by Guido van Rossum as a successor to the ABC language. Since its introduction, Python has grown in
popularity thanks to what is seen as a clear and expressive syntax developed with a focus on ensuring that code is readable.
Python is a high-level language. This means that Python code is written in largely recognisable English, providing the Pi with
commands in a manner that is quick to learn and easy to follow. This is in marked contrast to low-level languages, like assembler,
which are closer to how the computerthinks but almost impossible for a human to follow without experience. The high-level
nature and clear syntax of Python make it a valuable tool for anyone who wants to learn to program. It is also the language that is
recommended by the Raspberry Pi Foundation for those looking to progress from the simple Scratch (described in Chapter 10,
An Introduction to Scratch) to morehands-on programming.
Python is published under an open-source licence, and is freely available for Linux, OS X and Windows computer systems. This
cross-platform support means that software written using Python on the Pi can be used on computers running almost any other
operating system as wellexcept where the program makes use of Pi-specific hardware such as the GPIO Port. To learn how
Python can be used to address this port, see Chapter 12, Hardware Hacking.
Example 1: Hello World
As you learned in Chapter 10, An Introduction to Scratch, the easiest way to learn a new programming language is to create a
project that printsHello World! on the screen. In Scratch, you just had to drag and drop bricks of prewritten code, but in
Python, you need to write this program entirely by hand.
A Python project is, at heart, nothing more than a text file containing written instructions for the computer to follow. This file can
be created using any text editor. For example, if you enjoy working at the console or in a terminal window, you can use nano; or
if you prefer a graphical user interface (GUI), you can use Leafpad. Another alternative is to use an integrated development
environment (IDE) such as IDLE, which provides Python-specific functionality thats missing from a standard text editor,
including syntax checking, debugging facilities and the ability to run your program without having to leave the editor. This chapter
gives you instructions on how to create Python files using IDLE, but of course, the IDE program that you choose to use for
programming is up to you. The chapter also includes instructions for running your created files directly from the terminal, which
can be used in conjunction with any text editor or other IDE.
To begin the Hello World project, open IDLE from the Programming menu in the Debian distributions desktop environment. If
youre not using IDLE, create a blank document in your favourite text editor and skip the rest of this paragraph. By default,
IDLE opens up in Python shell mode (see Figure 11-1), so anything you type in the initial window will be immediately executed.
To open a new Python project which can be executed later, click on the File menu and choose New Window to open a blank
file.
Figure 11-1: The IDLE Python Shell window