Wikijunior:Raspberry Pi/Introduction to Python
Python is a general-purpose programming language that is easy to learn and is used in nearly all of the tutorials in this wikibook.
Getting started
[edit | edit source]Python 3 and IDLE are pre-installed on Raspberry Pi OS. IDLE can be opened from the Programming menu.
If you don't have a Raspberry Pi, you can install a copy of Python 3 on just about any computer from the official website.
Using the IDLE Shell
[edit | edit source]IDLE (Integrated Development and Learning Environment) is included with Python 3 and is easy to use. It is an Integrated Development Environment (IDE) which is a type of software that is designed to make it easy and convenient to write source code.
The first window that opens is the IDLE Shell, which is the Python 3 shell. You can run a quick line of Python in the shell, for example Python is a calculator so let's try adding 2 + 2
:
Python 3.10.4 (tags/v3.10.4:9d38120, Mar 23 2022, 23:13:41) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>2+2
4
Feel free to play with Python's calculator and try using the different operators:
- Plus
+
, such as1 + 1
- Minus
-
, such as3 - 2
- Multiply
*
, such as6 * 2
- Divide
/
, such as10 / 2
- Square
** 2
, such as2 ** 2
- Modulo (gives the remainder from a division)
%
, such as10 % 3
You can also access the Python 3 shell by typing python3
into the Terminal program and pressing the ↵ Enter key.
Hello World
[edit | edit source]Whenever a programmer starts with a new programming language. The first thing to do is to output the phrase "Hello World".
Open IDLE, select File, then New File (Ctrl+N) (or press the Ctrl and N keys together), create a new file and name it helloworld.py
, then type the following:
print("Hello World")
Run the code in IDLE by selecting Run, then Run Module (F5) (or press the F5 key) and it should display in the Python shell as:
Hello World
print
is a built-in function that outputs text onto the screen. As it's a word that has already be defined by Python to do something, programmers call it a "keyword".
Comments
[edit | edit source]Sometimes you may need to make notes in your code or remove a line to troubleshoot why it is not working (which is referred to as debugging).
In Python, you can add a comment using the hash symbol #
(in the US, this is confusingly called a "pound sign"). Let's add a comment to our Hello World program from earlier:
print("Hello World") # Let's say Hello World!
Once the hash symbol has been typed, the Python interpreter will ignore the rest of the line which allows us to make notes.
Variables
[edit | edit source]A variable assignment operator = is separate from equals (which is two equals signs put together == ). It is used by Python to put the value and the variable's name together. |
Variables are a container that is used to store values that we can define in our program.
In Python, variables are assigned with a name, a variable assignment operator =
and a value. Some examples of values are:
Booleans
[edit | edit source]True or false such as True
or False
.
x = True # x is a Boolean with a value of True
y = False # y is a Boolean with a value of False
Integers
[edit | edit source]Positive or negative whole numbers such as 5
or -10
.
x = 5 # x is an integer with a value of 5
y = -10 # y is an integer with a value of -10
Floating-point numbers
[edit | edit source]Positive or negative numbers that use a decimal point such as 3.14
or -0.5
.
x = 3.14 # x is a floating-point number with a value of 3.14
y = -0.5 # y is a floating-point number with a value of -0.5
Strings
[edit | edit source]A series of letters, numbers or symbols such as "Hello World"
. In Python, either single quotes ' '
or double quotes " "
can be used to define a string.
x = "Hello World" # x is a string with a value of "Hello World"
y = 'This is a string' # y is a string with a value of 'This is a string'
Lists
[edit | edit source]A list is an ordered collection of values each separated by a comma ,
of any of the values above. Any Python 3 datatype can be used.
fruits = ["apple", "banana", "mango"] # fruits is a list with the values: apple, banana, mango
numbers = ["1", "2", "3", "4"] # numbers is a list with the values: 1, 2, 3, 4
Python 3 has a built-in functions for modifiying lists. For example, let's try combining the two lists together:
fruits = ["apple", "banana", "mango"]
numbers = ["1", "2", "3", "4"]
fruits.extend(numbers)
print(fruits)
["apple", "banana", "mango", "1", "2", "3", "4"]
Dictionaries
[edit | edit source]A dictionary is like a list but for each entry there are two values. Here's an example:
capitals = {
"United States": "Washington, D.C.",
"France": "Paris",
"Japan": "Tokyo",
"Brazil": "Brasília"
}
# To print out a country's capital, do this
print(capitals["Japan"])
# To add a new value to the dictionary, do this:
capitals["Australia"] = "Canberra"
Other datatypes
[edit | edit source]These are just a few examples of the variable types that are available in Python. There are many other types as well including complex numbers, tuples, sets and more.
If statements
[edit | edit source]Python relies on indentation to understand how the program should run. Make you sure use the Tab ↹ key or the spacebar to make some space under the if and else for each print statement. |
The if
statement is used to make parts of the source code run providing a certain condition is met. For example, let's make a variable called "x" and set it to 5.
The keyword else
is used for defining what the source code should do if the condition x == 5
is not met.
#Create the variable "x" and set it to 5.
x = 5
# This if statement checks if a variable "x" is equal to 5
if x == 5:
# If the condition is true, this block of code will be executed
print("x is equal to 5")
else:
# If the condition is false, this block of code will be executed
print("x is not equal to 5")
x is equal to 5
What about if statements that have more than just two conditions? We use the keyword elif
(which just means "else if"). In the example below, we use the less than <
and greater than >
symbols to determine if a number is positive, negative or zero.
Try running this example in IDLE and change the value of x
to get all 3 outputs:
x = input("What is the value of x?")
# This if statement checks the value of a variable "x"
if x < 0:
# If "x" is less than 0, this block of code will be executed
print("x is negative")
elif x == 0:
# If "x" is equal to 0, this block of code will be executed
print("x is zero")
elif x > 0:
# If "x" is greater than 0, this block of code will be executed
print("x is positive")
Loops
[edit | edit source]When choosing between a for and a while loop, ask yourself the question "Do I know how many times this code needs to run?". If you do, use a for loop. If not, use a while loop instead. |
Sometimes you will want the code to repeat which can be done using loops. There are 2 kinds of loops used in Python:
For loops
[edit | edit source]For loops are useful when you know how many times the code needs to repeat itself.
In this example, there is a list of numbers from 1 to 5. The square brackets []
are used as lists are a specific variable datatype that is used to store multiple values.
# This for loop will iterate through a list of numbers
for number in [1, 2, 3, 4, 5]:
# Each time through the loop, the value of "number" will be updated
# to the next value in the list
print(number)
1
2
3
4
5
While loops
[edit | edit source]An infinite loop is a while loop that will never have its condition met and continues endlessly. |
A while loop repeats endlessly until the condition is met. For example, printing the numbers from 1 to 10:
i = 0
# Start a while loop that will continue as long as "i" is less than 10
while i < 10:
# Increment "i" by 1 each time through the loop
i += 1
# Print the value of "i"
print(i)
1
2
3
4
5
6
7
8
9
10
Modules
[edit | edit source]Python has a lot of modules pre-installed. For example, there is a tutorial for the Turtle module. Some of the tutorials in this wikibook use external modules such as the Enigma Machine module. |
Modules are Python source code written by other software developers. By default, Python can't do very much but we can make our Python programs do more by importing a module.
You can use the import
keyword to add a module. Use the from
to be more specific if you just want to do one thing from that module.
For example, let's print the number Pi. The number Pi is often shortened to 3.14
, but it actually continues on forever in real-life (mathematicians call this an irrational number). In Python, pi
prints Pi to 15 decimal places.
from math import pi
print(pi)
3.141592653589793
Now we have Pi, we can create a simple program that calculates the area of a circle. The formula for this is: area = pi × radius2
- Circumference – the outside line of a circle
- Radius – a straight line that connects the center of the circle to the circumference
The single asterisk *
is used to multiply one number by another (just like the multiplication sign ×
). The double asterisk **
with a 2
is used to square a number such as: 22 = 4
from math import pi
r = input("Enter the radius of the circle:")
area = pi * r ** 2
print("The area of the circle is:" + area)
If you want to go a step further, you can try to find the length of the circle's circumference. The formula is: circumference = pi × diameter
- Diameter – a straight line that goes through the centre of the circle from one side of the circumference to the other. This line is double the length of the radius.
- Pi – the ratio of the length of the circumference to the diameter. This means that the circumference of every circle is about 3.14 times as long as the diameter. It is named after the Greek letter Pi (π).
from math import pi
d = input("Enter the diameter of the circle:")
c = pi * d
print("The circumference of the circle is:" + c)
Glossary
[edit | edit source]General
[edit | edit source]- Bug – An unwanted mistake in the source code.
- Comment – A line of source code that is ignored by the interpreter/compiler, so it can be used for making notes or debugging.
- Debugging – Removing bugs from the source code. Most IDEs have tools that allow debugging at runtime to make it easier to see where the bugs are.
- Hello World – A popular test program used by software developers when they are learning a new programming language.
- If statement – A conditional section of source code that runs certain source code based on the condition that was used.
- Indentation – The use of tabs (with the Tab ↹ key) or spaces (with the spacebar) before a line of source code. In Python, this is required for the interpreter to understand how the program works.
- Integrated Development Environment (IDE) – A program designed for software development. A typical IDE includes a text editor to write the source code, an interpreter (or compiler) for running the sourcing code and debugging tools to troubleshoot mistakes made when writing the source code.
- Interpreter – A program that reads and runs the source code of an interpreted programming language such as Python.
- Keyword – A word that is reserved for use by a programming language. Examples in Python include:
print
,if
,else
,elif
,for
andwhile
. - Source code – The text of the programming language that makes up the program.
Loops
[edit | edit source]- For loop – A repeated section of source code that runs a certain number of times.
- While loop – A repeated section of source code that is exited by a condition.
Variables
[edit | edit source]- Boolean – A variable datatype that can either be True or False.
- Datatype – The type of data which a variable holds. Python is a dynamically typed programming language, so you can just assign the value to the variable.
- Integer – A variable datatype for any positive or negative whole number (including zero) without a decimal point.
- String – A variable datatype that defines a string of characters such as
"Hello World"
. - Variable – A value with a particular datatype that is defined by the programmer usually at the top of a program.
Modules
[edit | edit source]- Module – A Python source code file written by other software developers. Many modules are included with the default Python installation, but there are also external Python modules which need to be installed using pip or Anaconda.
- pip – A command-line Python package manager for installing external modules that aren't included in the standard Python installation.
Further reading
[edit | edit source]The official Python website has an informal introduction to Python.
There is a Python Programming guide on Wikibooks.
Issue 53 (January 2017) of the official Raspberry Pi magazine MagPi has a Python 3 tutorial from page 14. The PDF files for every issue of MagPi can be downloaded for free from the Raspberry Pi website and can be re-shared under the lenient CC BY-NC-SA 3.0 licence.
There are a lot of books about the Python programming language, perhaps too many! Al Sweigart's books can be read on his website for free, though do buy these books if you find them useful.
Title | Author | Year | ISBN |
---|---|---|---|
Automate the Boring Stuff with Python (2nd Edition) | Al Sweigart | 2019 | ISBN 978-1593279929 |
If you are 14 years old or older, you can become a formally qualified Python programmer by taking the Certified Entry-Level Python Programmer (PCEP) certification. Cisco's SkillsForAll e-learning platform has a free course called Python Essentials 1.