Track
Графика Turtle — один из самых увлекательных способов изучать Python. Это простой модуль Python, который позволяет создавать художественную графику и анимации, «отдавая команды» черепашке перемещаться по экрану. Первоначально предназначенная для обучения детей программированию, графика Turtle стала популярным способом для начинающих получить практический опыт с основами кода.
С помощью Turtle вы можете создавать всё — от простых фигур до сложных геометрических узоров — параллельно осваивая базовые понятия Python, такие как циклы, функции и условия. Будь вы новичком в программировании или хотите применить навыки для чего-то творческого, графика Turtle вам в этом поможет.
В этой статье мы познакомим вас с основами графики Turtle и шаг за шагом создадим несколько интересных проектов. Мы заложим фундамент для более сложных рисунков — от простых квадратов до замысловатых спиралей. Помимо экспериментов с Turtle, наш курс Introduction to Python хорошо дополняет материал и поможет продолжить прокачивать навыки.
Что такое графика Turtle в Python?
Turtle Graphics — это модуль Python, который позволяет рисовать и анимировать, управляя виртуальной «черепашкой» на экране. Это интуитивный и увлекательный способ взаимодействовать с кодом: вы даёте черепашке команды вроде «двигайся вперёд», «поверни налево» или «нарисуй круг» и видите результат в реальном времени. Модуль turtle входит во все актуальные версии Python 3 (включая Python 3.14).
«Черепашка» в Turtle Graphics — это курсор или перо, которое перемещается по экрану в соответствии с вашими командами. По мере движения оно может оставлять след, создавая линии, фигуры и более сложные рисунки. Визуальная обратная связь упрощает изучение базовых, но важных принципов программирования. В частности, вы можете изучать циклы (для повторения фигур), функции (для переиспользуемого кода) и условия (для принятия решений о следующем действии черепашки). Например, чтобы нарисовать звезду, можно использовать цикл, повторяющий движения вперёд и повороты черепашки четыре раза. Обратите внимание: поскольку графика Turtle — часть стандартной библиотеки Python, ничего дополнительно устанавливать не нужно.
import turtle
star = turtle.Turtle()
star.right(75)
star.forward(100)
for i in range(4):
star.right(144)
star.forward(100)
turtle.done()

Рисуем звезду с помощью графики Turtle. Изображение автора
Типичные применения графики Turtle
Рисовать фигуры и узоры с помощью Turtle не только интересно, но и полезно, особенно в обучении. Вот несколько типичных сценариев:
Обучение основам программирования
Графика Turtle — популярный инструмент для обучения базовым концепциям программирования на курсах и в классе. Благодаря наглядности новичкам легче преодолеть барьер входа. Ниже мы рассмотрим несколько подробных примеров.
Создание рисунков и анимаций
С Turtle вы можете создавать как простые формы вроде квадратов и кругов, так и сложные узоры и анимации. Начните с базовых фигур и постепенно переходите к более сложным. Кроме того, можно настраивать движение и направление черепашки, толщину линий и цвет.
Проектирование игр и интерактивных проектов
Графику Turtle можно использовать для простых интерактивных проектов и игр. Комбинируя команды Turtle с пользовательским вводом (например, щелчками мыши или нажатиями клавиш), вы можете сделать игру-лабиринт или базовый Pong.
Визуализация алгоритмов
Возможно, неожиданно, но Turtle отлично подходит для визуализации алгоритмов. С её помощью можно демонстрировать алгоритмы сортировки, фракталы и рекурсивные узоры.
Распространённые команды Python для графики Turtle
Познакомимся с базовыми командами графики Turtle, чтобы вы смогли создать свои первые рисунки. Начнём с простейших операций для управления движением черепашки и рисованием.
1. import turtle
Прежде чем рисовать, импортируйте модуль графики Turtle этой командой. Она открывает доступ ко всем функциям Turtle.
import turtle
2. turtle.forward()
Команда перемещает черепашку вперёд на указанное число единиц, в данном случае — на 100. По мере движения черепашка рисует линию.
turtle.forward(100)
3. turtle.right()
Черепашка поворачивается на 90 градусов вправо на месте (меняет направление, не двигаясь вперёд). Используйте это, чтобы подготовить следующий шаг вперёд.
turtle.right(90)
4. turtle.circle()
Команда рисует круг радиусом 50 единиц. Меняйте радиус, чтобы рисовать большие или маленькие круги.
turtle.circle(50)
5. turtle.penup()
Поднимает перо — черепашка перемещается, не рисуя. Удобно, когда нужно изменить позицию без следа.
turtle.penup()
6. turtle.pendown()
Опускает перо — после команды penup() черепашка снова начнёт рисовать.
turtle.pendown()
Примеры проектов на графике Turtle в Python
Перейдём к практическим примерам, которые вы можете повторить. Просто скопируйте и вставьте код, чтобы начать, а затем меняйте его под свой вкус.
Простые фигуры
Рекомендую начать с простых фигур вроде квадратов и треугольников. Для них нужно двигать черепашку вперёд и поворачивать на заданные углы.
import turtle
t = turtle.Turtle()
for _ in range(4):
t.forward(100)
t.right(90)
turtle.done()

Рисуем квадрат с помощью графики Turtle. Изображение автора
Геометрические узоры
Геометрические узоры создаются повторением простых фигур в циклах. С их помощью можно генерировать, например, спирали или звёзды, используя циклы и функции. Такие рисунки демонстрируют, как повторение и симметрия создают сложность из простоты.
import turtle
t = turtle.Turtle()
for _ in range(36):
for _ in range(5):
t.forward(100)
t.right(144)
t.right(10)
turtle.done()

Рисуем звёздчатую спираль с помощью графики Turtle. Изображение автора
Ключ к успеху — экспериментировать с количеством повторений и углами, наблюдая, как меняется узор. Подбирая параметры, можно получить бесконечно много вариаций.
Фракталы и рекурсивные узоры
Фракталы — это рекурсивные узоры, повторяющиеся на разных масштабах. Это самоподобные фигуры, то есть они выглядят одинаково при любом масштабе и могут иметь бесконечный периметр при конечной площади. Фракталы отлично подходят для изучения рекурсии. Известный фрактал в графике Turtle — треугольник Серпинского — серия меньших треугольников, образующих большой треугольник.
import turtle
def sierpinski(t, order, size):
if order == 0:
for _ in range(3):
t.forward(size)
t.left(120)
else:
sierpinski(t, order-1, size/2)
t.forward(size/2)
sierpinski(t, order-1, size/2)
t.backward(size/2)
t.left(60)
t.forward(size/2)
t.right(60)
sierpinski(t, order-1, size/2)
t.left(60)
t.backward(size/2)
t.right(60)
t = turtle.Turtle()
sierpinski(t, 3, 200)
turtle.done()

Рисуем треугольник Серпинского с помощью графики Turtle. Изображение автора
Интерактивные рисунки
Вы также можете управлять движением черепашки с клавиатуры или мыши — это делает процесс ещё динамичнее. Например, можно создать цифровой аналог Etch-A-Sketch: вы управляете черепашкой стрелками и рисуете на экране. К приведённому ниже коду можно добавить смену цветов или очистку экрана.
import turtle
t = turtle.Turtle()
def move_up():
t.setheading(90)
t.forward(10)
def move_down():
t.setheading(270)
t.forward(10)
def move_left():
t.setheading(180)
t.forward(10)
def move_right():
t.setheading(0)
t.forward(10)
screen = turtle.Screen()
screen.listen()
screen.onkey(move_up, "Up")
screen.onkey(move_down, "Down")
screen.onkey(move_left, "Left")
screen.onkey(move_right, "Right")
screen.mainloop()
Творческие дизайны
Turtle — это не только фигуры и узоры. Комбинируя циклы, рекурсию и условия, можно создавать самобытные и красивые композиции. С практикой вы сможете рисовать мандалы и абстрактные формы. В этом примере черепашка рисует цветную мандалу, постоянно меняя направление и цвет.
import turtle
t = turtle.Turtle()
t.speed(0)
colors = ['red', 'purple', 'blue', 'green', 'orange', 'yellow']
for x in range(360):
t.pencolor(colors[x % 6])
t.width(x // 100 + 1)
t.forward(x)
t.left(59)
turtle.done()

Рисуем мандалу с помощью графики Turtle. Изображение автора
Советы для начала работы с графикой Turtle
Несколько советов, чтобы эффективнее использовать графику Turtle в Python:
- Начните с простых фигур: Рисуйте базовые формы — квадраты и круги. Так вы поймёте, как работает движение черепашки, и заложите основу для более сложных рисунков.
-
Экспериментируйте с цветами и толщиной пера: В Turtle можно менять толщину пера, скорость и цвет. Используйте
turtle.pensize(),turtle.speed()иturtle.color(), чтобы сделать рисунки интереснее.
- Используйте циклы и функции: Циклы позволяют эффективно создавать повторяющиеся узоры. Вместо того чтобы вручную многократно писать код для одной и той же фигуры, используйте циклы и функции, чтобы автоматизировать повторяющиеся действия и строить сложные рисунки за меньшее число строк.
- Изучайте документацию: В модуле Turtle есть множество команд помимо базовых перемещений. Загляните в документацию, чтобы открыть для себя формы, штампы и более продвинутые техники рисования. Вы удивитесь, что всё это можно создать!
Заключение
Помимо фигур, которые мы нарисовали в статье — квадратов, звёзд, спиралей и треугольника Серпинского, — графика Turtle позволяет экспериментировать и с другими: от пятиугольников до сложных цветочных узоров. По мере роста уверенности Turtle будет расти вместе с вами, помогая браться за всё более сложные проекты. Продолжайте экспериментировать и пробовать новые идеи. А чтобы сделать следующий шаг, загляните в наш курс введения в Python и продолжайте развивать навыки!
Частые вопросы по графике Turtle в Python
Что такое графика Turtle в Python?
Turtle Graphics — это модуль Python, который позволяет создавать графику и анимацию, управляя виртуальной «черепашкой» на экране. Он предлагает увлекательный способ изучать программирование через рисование фигур и узоров.
Как начать работать с графикой Turtle в Python?
Чтобы начать, импортируйте модуль turtle в Python с помощью import turtle. Далее используйте команды turtle.forward(), turtle.right() и turtle.circle(), чтобы управлять движениями черепашки и создавать рисунки.
Какие проекты на Python можно создать с помощью графики Turtle?
Можно создавать самые разные проекты: от простых фигур вроде квадратов и кругов до более сложных геометрических узоров, анимаций, фракталов и даже интерактивных игр и рисунков.
Могу ли я создавать интерактивные проекты на Python с графикой Turtle?
Да, с помощью Turtle Graphics можно делать интерактивные проекты. Например, можно управлять движением черепашки с клавиатуры и рисовать динамически — как в цифровом аналоге Etch-A-Sketch.
Как улучшить мои проекты на графике Turtle в Python?
Начните с простых фигур и постепенно переходите к более сложным. Используйте циклы и функции для создания повторяющихся узоров, экспериментируйте с толщиной пера и цветами, а также обращайтесь к документации модуля turtle, чтобы освоить продвинутые команды и приёмы.