16.4 turtle -- Turtle graphics for Tk

Availability: Tk.

The turtle module provides turtle graphics primitives, in both an object-oriented and procedure-oriented ways. Because it uses Tkinter for the underlying graphics, it needs a version of python installed with Tk support.

The procedural interface uses a pen and a canvas which are automagically created when any of the functions are called.

The turtle module defines the following functions:

Set angle measurement units to degrees.

Set angle measurement units to radians.

Clear the screen, re-center the pen, and set variables to the default values.

Clear the screen.

Set tracing on/off (according to whether flag is true or not). Tracing means line are drawn more slowly, with an animation of an arrow along the line.

Go forward distance steps.

Go backward distance steps.

Turn left angle units. Units are by default degrees, but can be set via the degrees() and radians() functions.

Turn right angle units. Units are by default degrees, but can be set via the degrees() and radians() functions.

Move the pen up -- stop drawing.

Move the pen up -- draw when moving.

Set the line width to width.

color((r, g, b))
color(r, g, b)
Set the pen color. In the first form, the color is specified as a Tk color specification as a string. The second form specifies the color as a tuple of the RGB values, each in the range [0..1]. For the third form, the color is specified giving the RGB values as three separate parameters (each in the range [0..1]).

write(text[, move])
Write text at the current pen position. If move is true, the pen is moved to the bottom-right corner of the text. By default, move is false.

The complete specifications are rather complex, but the recommended usage is: call fill(1) before drawing a path you want to fill, and call fill(0) when you finish to draw the path.

circle(radius[, extent])
Draw a circle with radius radius whose center-point is radius units left of the turtle. extent determines which part of a circle is drawn: if not given it defaults to a full circle.

If extent is not a full circle, one endpoint of the arc is the current pen position. The arc is drawn in a counter clockwise direction if radius is positive, otherwise in a clockwise direction. In the process, the direction of the turtle is changed by the amount of the extent.

goto(x, y)
goto((x, y))
Go to co-ordinates x, y. The co-ordinates may be specified either as two separate arguments or as a 2-tuple.

This module also does from math import *, so see the documentation for the math module for additional constants and functions useful for turtle graphics.

Exercise the module a bit.

exception Error
Exception raised on any error caught by this module.

For examples, see the code of the demo() function.

This module defines the following classes:

class Pen()
Define a pen. All above functions can be called as a methods on the given pen. The constructor automatically creates a canvas do be drawn on.

class RawPen(canvas)
Define a pen which draws on a canvas canvas. This is useful if you want to use the module to create graphics in a ``real'' program.

See About this document... for information on suggesting changes.