Глава 7 · Глубокое погружение в Turtle

Экран как графическая система

Прежде чем рисовать что-то сложнее квадратов, разберёмся, что вообще значит «размер» в Turtle — окно, холст и координатный мир не одно и то же.

В главе 6 мы уже создавали окно и черепашку — но не разбирались, что вообще внутри происходит. Начнём с того, что Turtle — это не просто «нарисовать линию», а настоящая графическая система с несколькими слоями.

Три разные вещи, которые легко перепутать

Когда мы говорим о «размере» в Turtle, на самом деле речь может идти о трёх разных вещах:

РАБОЧИЙ СТОЛ
ОКНО TURTLE (screen.setup)
ХОЛСТ (screen.screensize)
координатный мир: любые числа x, y
Три разных вещи: окно (видимый размер), холст (область для рисования, может быть больше окна) и координатный мир (числа, которым вообще нет предела)
Для начала достаточно setup()
В подавляющем большинстве учебных программ довольно одного screen.setup() — окно и холст совпадают, и думать о разнице не приходится. screensize() нужен реже — например, когда рисунок больше, чем разумно показывать на экране целиком.

Настраиваем окно: до и после

Три команды экрана — заголовок, цвет фона и размер:

svetlaya_tema.py
import turtle

screen = turtle.Screen()
screen.setup(width=500, height=360)
screen.title("Cartesian Turtle Studio")
screen.bgcolor("#F5F2FF")
artist = turtle.Turtle()
artist.pencolor("#5B24F9")
artist.pensize(3)
artist.forward(150)

screen.exitonclick()
Результат выполнения
Светлое окно Turtle светло-фиолетового оттенка с заголовком Cartesian Turtle Studio и короткой фиолетовой линией
setup(width=500, height=360), title(...) и светлый bgcolor()
svetlaya_tema_kod.py
screen.setup(width=700, height=500)
screen.title("Cartesian Turtle Studio")
screen.bgcolor("#F5F2FF")

Меняем только цвет фона — вся остальная логика рисования остаётся той же:

temnaya_tema.py
import turtle

screen = turtle.Screen()
screen.setup(width=500, height=360)
screen.title("Cartesian Turtle Studio — Dark")
screen.bgcolor("#0D0230")
artist = turtle.Turtle()
artist.pencolor("#B9A0FC")
artist.pensize(3)
artist.forward(150)

screen.exitonclick()
Результат выполнения
Тёмно-синее окно Turtle с той же линией, нарисованной светло-фиолетовым цветом
Тот же код, но с тёмным bgcolor() — тема окна не меняет ничего в логике рисования
Практика: настройка экрана как системы
Модуль turtle открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter
Открыть практику →