The Python `turtle` Library - A Step-by-Step Tutorial
The Python programming language, like most languages, is purely text-based. This can make it quite boring for young learners.
Visual tools can be important educational resources. More specifically, the
turtle library is a great tool to help elementary and middle school students to master the language.
turtle library comes with a collection of commands that you can use to create artwork and games.
If you're an elementary or a middle school student with the desire to learn Python (or an educator who is serving that audience), you’ve come to the right place.
This tutorial will help you start your Python programming journey by creating shapes and images using the Python
Table of Contents
You can skip to a specific section of this Python
turtle tutorial using the table of contents below:
- What is the
- Getting started with
- Final Thoughts
What is the
turtle library is a library that provides programmers with a virtual canvas to create shapes and images.
To draw the shapes and images, you use an onscreen pen called the
turtle. The name of the library was derived from the name of this pen.
turtle library is a useful learning tool because it helps programmers realize that Python is an interactive programming language. The
turtle library lets your see how fun it is to learn Python!
Because of this,
turtle is often used to introduce children to programming.
Although it is a straightforward library, it provides a versatile way of learning the Python concepts. It acts as a stepping stone for kids when starting their journey in Python programming.
So, is the Python
turtle library only meant for kids?
It’s also a good library for adults who are beginners to Python programming.
turtle library, you can create different shapes and images in Python.
Let me show you how you can get started with the Python
Getting started with
Before going further, there are two important points for you to note:
turtlelibrary is shipped with Python.
So, if you’ve installed Python on your computer, you already have
This means that you won’t be required to install the library separately.
To write and run your code, you can use applications like IDLE or Jupyter Notebook.
However, if you are not familiar with them, you can use REPL.
Install the latest version of Python on your computer, Python 3.X.
Since the library is pre-installed in Python, you only need to import it.
You can use the import statement for this.
Let me show you how:
The above command will import the
turtlelibrary into your program.
You can then use it to create shapes and images.
turtle is a graphical library. This means you will need to create a separate window to carry out each drawing command.
This window is known as the screen.
The easiest way to create the screen is by initializing a variable for it.
In Python, variables help us store information that we need to access later.
A Python variable is said to have been initialized once it has been assigned an initial value.
The value of a variable is not constant. It can change many times during program execution.
Here's how you can create your
turtle screen and assign it to a variable called
screen = turtle.getscreen()
To reiterate, we’ve created a variable and given it the name
We have then called the
.getscreen() Python function from the
This is the function that generates the screen for us.
So, anytime you call the
screen variable, you will be referring to the generated screen.
When you run the code, a separate will pop up as shown below:
The output of your code will be displayed on this screen.
Notice that there is a small black triangle at the center of the screen.
This is called the
The next thing we need to do is initialize a variable that you will use to refer to the
We will give this variable the name
tt, which is a common practice when working in the
The creating of this
tt variable is shown below:
tt = turtle.Turtle()
You have now create both the screen and the turtle.
See the screen as a canvas and the
turtle as a pen. You can code the
turtle to move to any place on the screen.
turtle has characteristics such as color, size, and, speed that you can change. The
turtle points in a particular direction and will always move in that direction unless you instruct it otherwise.
Here are two things you should keep in mind about the
- When it is up, it will not draw any line when it moves.
- When it is down, it will draw a line when it moves.
We will see this in practice soon. Next, I will show you how to program using the
turtle library. Let’s continue…
How to Program with
Now, it’s time to get into real coding.
I want to show you how to perform various programming tasks using the
First, I will be showing you how to…
Move the turtle
You can move the
turtle in the following four directions:
To move the
turtle forward or backward, you need to call the
.backward() functions respectively.
The direction to which the
turtle moves depends on the direction it is facing.
To change the direction of the turtle, you can use the
.left() and the
When calling these functions, you must specify the number of degrees by which to move the turtle.
Let’s see the
To move the
turtle 90 degrees to the right, run the following command:
The command will change the
turtle to look as follows:
Next, let’s move the
turtle forward by 120 units.
Simply run the following command:
turtle should now look as follows:
Next, let's see the
turtle move 90 degrees to the left:
turtle should now look as follows:
We can now move the
turtle backward by 120 units:
turtle should look as follows:
turtle first turned right by 90 degrees, moved forward by 120 units, turned left by 90 degrees, then moved backwards by 120 units.
Also, you can use the commands in their short form.
This is shown below:
The use of degrees makes it possible for us to draw a line from the current position to any arbitrary position on the screen.
Consider the figure given below:
The above figure shows how the screen is divided into four quadrants.
At the beginning of your program, the
turtle is located at the position marked as (0,0).
This position is also known as Home.
If you need to move the
turtle to any area of the screen, you can use the
The function expects you to pass the coordinates to which you need to move the turtle.
The above command should move the
turtle as follows:
The output shows that you have drawn a line from the point (0,0) to the point (110,110).
You can bring the
turtle back home by running the following command:
You now know how to move the turtle.
In this section, I will be showing you how to draw shapes.
First, I will show you how to draw polygons because they are simple.
Polygons are made up of many straight lines connected at particular angles.
Consider the following code:
import turtle screen = turtle.getscreen() tt = turtle.Turtle() tt.fd(120) tt.rt(90) tt.fd(120) tt.rt(90) tt.fd(120) tt.rt(90) tt.fd(120)
The code should generate the following:
The code generated a square, a type of polygon!
With such an approach, you can program the
turtle to generate different types of shapes.
You only have to vary the number of sides and their length.
Drawing Preset Figures
turtle library makes it easy for you to draw certain types of figures.
A good example is the circle.
It’s not easy for you to draw a circle using the previous approach.
However, you can issue a simple command to draw the shape.
This is demonstrated below:
The command should return the following output:
So, the output is a circle.
We used the
.circle() function and passed to it the value 80.
The 80 is the number of units for the circle radius.
To increase or decrease the size of the circle, you simply have to change the value of the radius.
You can also draw a dot, which is just a circle that is filled up.
This returns the following output:
So, we simply called the
.dot() function and passed to it a value of 30.
The 30 is the value for the diameter of the dot.
You now know how to create shapes using the
But how can you customize your shapes to look the way you want? That’s what I will be showing you next.
Let me show you how to customize your
turtle shapes. We will consider factors like the screen color, screen title, pen size, etc.
turtle launches its screen with a white background color. However, you can change this color using the
.bgcolor() function as shown below:
The command should change the background color of the screen to green as shown below:
Note that you can replace the green with any color of your choice.
You must have noticed that the
turtle screen comes with a default title, that is, “Python
You can however change this title using the
.title() function. For example:
This changes the screen title as shown below:
It’s also possible to change the size of the
turtle by making it either bigger or smaller.
The size of the shape will change but the output of the pen while drawing on the screen won’t change.
We use the
.shapesize() function for this.
The function takes the following 3 parameters:
- Stretch length
- Stretch width
- Outline width
turtle should now appear as shown below:
In the previous command, the thickness of the pen did not change.
You can change it using the
.pensize() function. For example:
The thickness of the pen has been set to 10.
Now, let’s draw using the pen:
This returns the following:
The pen is now much thicker that the original pen.
When you launch a new screen, the
turtle is displayed in black color. When you begin to draw, the pen draws with black ink.
You can change this to any color you want. First, let us increase the size of the turtle. We want to see the color difference more clearly:
Now, we can use the
.fillcolor() function to change the color of the turtle:
This is what you will get:
turtle now has a red color.
To change the pen color, use the
.pencolor() function as shown below:
You should now have the following turtle:
To make things easier for you, you can change the color of both at once.
You simply call the
.color() function as shown below:
Everybody likes colored images. Fortunately, the
turtle library allows you to easily color your images.
This is possible using the
.begin_fill()tells the program that you need to draw a closed shape that should be filled in.
.end_fill()tells the program that you’re done with creating the shape and that it can now be filled.
Here is an example:
import turtle screen = turtle.getscreen() tt = turtle.Turtle() tt.begin_fill() tt.fd(120) tt.rt(90) tt.fd(120) tt.rt(90) tt.fd(120) tt.rt(90) tt.fd(120) tt.end_fill()
The code will generate a square that is filled with solid color.
This is shown below:
Anytime that you want to reset the environment, just call the
.reset() function as shown below:
As you advance your Python programming skills, you will encounter Python loops. I will show you how to integrate Python loops with the
turtle library in this seciton.
First, let's begin with a broad overview of how Python loops work. Loops are instructions that are executed repeatedly until a particular condition is met.
There are two main types of loops in Python - the
for loop and the
while loop. We will discuss each type of loop in this tutorial.
Remember the example of creating a square? To do this, we had to repeat a line of code 4 times.
Here's waht the code looked like:
tt.fd(120) tt.rt(90) tt.fd(120) tt.rt(90) tt.fd(120) tt.rt(90) tt.fd(120)
You can make the code much shorter (and more readable) using a
for loop. For example:
import turtle screen = turtle.getscreen() tt = turtle.Turtle() for x in range(4): tt.fd(120) tt.rt(90)
for statement, we created a variable and given it the name
The value of this variable should be between 0 and 4 (excluding 4).
for loop will terminate the program when the value of
x reaches 4.
This means that the
for loop will iterate 4 times - once for 0, 1, 2, and 3.
The two lines added under the
tt.rt(90), will be executed 4 times, - once for each iteration.
So, for each iteration, the
turtle will move 120 units then turn right by 90 degrees.
After doing that 4 times, it will form a square as shown below:
while loop performs a task as long as a specified condition is true. If the condition becomes false, the program terminates.
Here's how you could use a
while loop along with the Python
import turtle screen = turtle.getscreen() tt = turtle.Turtle() x=60 while x >= 40: tt.circle(x) x = x-5
The code will create 5 circles.
We’ve used the variable
x as a counter variable. The value of this variable starts at 60 and ends at 40, and it should reduce by 5 after each iteration. Each iteration generates a new circle.
The value of variable
x has been used as the radius when drawing the circles. Since the value is decreasing, each circle will be smaller than the previous one.
This creates a wonderful spiral effect, as shown below:
That’s the power of the
In this article, I introduced you to the Python
turtle library and showed you how you can use it to create drawings and visualiuzations in Python.
Here is a brief summary of the topics we discussed in this tutorial:
turtleis a Python library for creating shapes and images.
turtlelibrary often acts as a stepping stone for children or other new programmers when learning Python.
turtlelibrary is pre-installed in Python. This means that if you install Python in your computer, you will automtically receive the
turtlelibrary comes with some preset figures such as the circle.
- To avoid repeating lines of code when drawing shapes and images, combine