Документация Python неофициальный перевод

turtle.md

2060 строк · 90.9 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/2.7/library/turtle.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 24.5. [`turtle`](https://python-all.ru/2.7/library/turtle.html#module-turtle) – Черепашья графика для Tk89## 24.5.1. Введение1011Черепашья графика – популярный способ познакомить детей с программированием. Она была частью оригинального языка программирования Logo, разработанного Уолли Фойрцигом и Сеймуром Пейпертом в 1966 году.1213Представьте роботизированную черепашку, начинающую с точки (0, 0) на плоскости x-y. После `import turtle` дайте ей команду `turtle.forward(15)`, и она переместится (на экране!) на 15 пикселей в том направлении, куда смотрит, рисуя линию во время движения. Дайте ей команду `turtle.right(25)`, и она повернётся на месте на 25 градусов по часовой стрелке.1415Комбинируя эти и подобные команды, можно легко рисовать сложные фигуры и картинки.1617Модуль [`turtle`](https://python-all.ru/2.7/library/turtle.html#module-turtle) – это расширенная повторная реализация одноимённого модуля из стандартной поставки Python до версии Python 2.5.1819Он старается сохранить достоинства старого модуля turtle и быть (почти) на 100% совместимым с ним. Это означает, в первую очередь, что начинающий программист может использовать все команды, классы и методы в интерактивном режиме при работе с модулем из IDLE, запущенной с ключом `-n`.2021Модуль turtle предоставляет примитивы черепашьей графики как в объектно-ориентированном, так и в процедурно-ориентированном стиле. Поскольку для работы с графикой он использует [`Tkinter`](https://python-all.ru/2.7/library/tkinter.html#module-Tkinter), требуется версия Python, установленная с поддержкой Tk.2223Объектно-ориентированный интерфейс использует, по сути, два + два класса:24251. Класс [`TurtleScreen`](https://python-all.ru/2.7/library/turtle.html#turtle.TurtleScreen) определяет графические окна как игровое поле для рисующих черепах. Его конструктор принимает в качестве аргумента `Tkinter.Canvas` или [`ScrolledCanvas`](https://python-all.ru/2.7/library/turtle.html#turtle.ScrolledCanvas). Его следует использовать, когда [`turtle`](https://python-all.ru/2.7/library/turtle.html#module-turtle) применяется как часть какого-либо приложения.2627   Функция [`Screen()`](https://python-all.ru/2.7/library/turtle.html#turtle.Screen) возвращает объект-одиночку подкласса [`TurtleScreen`](https://python-all.ru/2.7/library/turtle.html#turtle.TurtleScreen). Эту функцию следует использовать, когда [`turtle`](https://python-all.ru/2.7/library/turtle.html#module-turtle) применяется как автономное средство для рисования. Поскольку это объект-одиночка, наследование от его класса невозможно.2829   Все методы TurtleScreen/Screen также существуют в виде функций, то есть являются частью процедурно-ориентированного интерфейса.302. [`RawTurtle`](https://python-all.ru/2.7/library/turtle.html#turtle.RawTurtle) (псевдоним: [`RawPen`](https://python-all.ru/2.7/library/turtle.html#turtle.RawPen)) определяет объекты Turtle, которые рисуют на [`TurtleScreen`](https://python-all.ru/2.7/library/turtle.html#turtle.TurtleScreen). Его конструктор принимает в качестве аргумента Canvas, ScrolledCanvas или TurtleScreen, чтобы объекты RawTurtle знали, где рисовать.3132   От RawTurtle наследуется подкласс [`Turtle`](https://python-all.ru/2.7/library/turtle.html#turtle.Turtle) (псевдоним: `Pen`), который рисует на [`Screen`](https://python-all.ru/2.7/library/turtle.html#turtle.Screen) – экземпляре, который создаётся автоматически, если его ещё нет.3334   Все методы RawTurtle/Turtle также существуют в виде функций, то есть как часть процедурно-ориентированного интерфейса.3536Процедурный интерфейс предоставляет функции, производные от методов классов [`Screen`](https://python-all.ru/2.7/library/turtle.html#turtle.Screen) и [`Turtle`](https://python-all.ru/2.7/library/turtle.html#turtle.Turtle). Они имеют те же имена, что и соответствующие методы. Объект экрана создаётся автоматически при вызове любой функции, производной от метода Screen. (Безымянный) объект черепахи создаётся автоматически при вызове любой функции, производной от метода Turtle.3738Чтобы использовать несколько черепашек на одном экране, нужно прибегнуть к объектно-ориентированному интерфейсу.3940> **Примечание**41>42> В следующей документации приведён список аргументов для функций. Методы, конечно, имеют дополнительный первый аргумент *self*, который здесь опущен.4344## 24.5.2. Обзор доступных методов Turtle и Screen4546### 24.5.2.1. Методы Turtle4748**Движение черепахи**4950**Перемещение и рисование**5152[`forward()`](https://python-all.ru/2.7/library/turtle.html#turtle.forward)5354|5556[`fd()`](https://python-all.ru/2.7/library/turtle.html#turtle.fd)5758[`backward()`](https://python-all.ru/2.7/library/turtle.html#turtle.backward)5960|6162[`bk()`](https://python-all.ru/2.7/library/turtle.html#turtle.bk)6364|6566[`back()`](https://python-all.ru/2.7/library/turtle.html#turtle.back)6768[`right()`](https://python-all.ru/2.7/library/turtle.html#turtle.right)6970|7172[`rt()`](https://python-all.ru/2.7/library/turtle.html#turtle.rt)7374[`left()`](https://python-all.ru/2.7/library/turtle.html#turtle.left)7576|7778[`lt()`](https://python-all.ru/2.7/library/turtle.html#turtle.lt)7980[`goto()`](https://python-all.ru/2.7/library/turtle.html#turtle.goto)8182|8384[`setpos()`](https://python-all.ru/2.7/library/turtle.html#turtle.setpos)8586|8788[`setposition()`](https://python-all.ru/2.7/library/turtle.html#turtle.setposition)8990[`setx()`](https://python-all.ru/2.7/library/turtle.html#turtle.setx)9192[`sety()`](https://python-all.ru/2.7/library/turtle.html#turtle.sety)9394[`setheading()`](https://python-all.ru/2.7/library/turtle.html#turtle.setheading)9596|9798[`seth()`](https://python-all.ru/2.7/library/turtle.html#turtle.seth)99100[`home()`](https://python-all.ru/2.7/library/turtle.html#turtle.home)101102[`circle()`](https://python-all.ru/2.7/library/turtle.html#turtle.circle)103104[`dot()`](https://python-all.ru/2.7/library/turtle.html#turtle.dot)105106[`stamp()`](https://python-all.ru/2.7/library/turtle.html#turtle.stamp)107108[`clearstamp()`](https://python-all.ru/2.7/library/turtle.html#turtle.clearstamp)109110[`clearstamps()`](https://python-all.ru/2.7/library/turtle.html#turtle.clearstamps)111112[`undo()`](https://python-all.ru/2.7/library/turtle.html#turtle.undo)113114[`speed()`](https://python-all.ru/2.7/library/turtle.html#turtle.speed)115116**Состояние черепахи**117118[`position()`](https://python-all.ru/2.7/library/turtle.html#turtle.position)119120|121122[`pos()`](https://python-all.ru/2.7/library/turtle.html#turtle.pos)123124[`towards()`](https://python-all.ru/2.7/library/turtle.html#turtle.towards)125126[`xcor()`](https://python-all.ru/2.7/library/turtle.html#turtle.xcor)127128[`ycor()`](https://python-all.ru/2.7/library/turtle.html#turtle.ycor)129130[`heading()`](https://python-all.ru/2.7/library/turtle.html#turtle.heading)131132[`distance()`](https://python-all.ru/2.7/library/turtle.html#turtle.distance)133134**Настройка и измерение**135136[`degrees()`](https://python-all.ru/2.7/library/turtle.html#turtle.degrees)137138[`radians()`](https://python-all.ru/2.7/library/turtle.html#turtle.radians)139140**Управление пером**141142**Состояние рисования**143144[`pendown()`](https://python-all.ru/2.7/library/turtle.html#turtle.pendown)145146|147148[`pd()`](https://python-all.ru/2.7/library/turtle.html#turtle.pd)149150|151152[`down()`](https://python-all.ru/2.7/library/turtle.html#turtle.down)153154[`penup()`](https://python-all.ru/2.7/library/turtle.html#turtle.penup)155156|157158[`pu()`](https://python-all.ru/2.7/library/turtle.html#turtle.pu)159160|161162[`up()`](https://python-all.ru/2.7/library/turtle.html#turtle.up)163164[`pensize()`](https://python-all.ru/2.7/library/turtle.html#turtle.pensize)165166|167168[`width()`](https://python-all.ru/2.7/library/turtle.html#turtle.width)169170[`pen()`](https://python-all.ru/2.7/library/turtle.html#turtle.pen)171172[`isdown()`](https://python-all.ru/2.7/library/turtle.html#turtle.isdown)173174**Управление цветом**175176[`color()`](https://python-all.ru/2.7/library/turtle.html#turtle.color)177178[`pencolor()`](https://python-all.ru/2.7/library/turtle.html#turtle.pencolor)179180[`fillcolor()`](https://python-all.ru/2.7/library/turtle.html#turtle.fillcolor)181182**Заливка**183184[`fill()`](https://python-all.ru/2.7/library/turtle.html#turtle.fill)185186[`begin_fill()`](https://python-all.ru/2.7/library/turtle.html#turtle.begin_fill)187188[`end_fill()`](https://python-all.ru/2.7/library/turtle.html#turtle.end_fill)189190**Дополнительное управление рисованием**191192[`reset()`](https://python-all.ru/2.7/library/turtle.html#turtle.reset)193194[`clear()`](https://python-all.ru/2.7/library/turtle.html#turtle.clear)195196[`write()`](https://python-all.ru/2.7/library/turtle.html#turtle.write)197198**Состояние черепахи**199200**Видимость**201202[`showturtle()`](https://python-all.ru/2.7/library/turtle.html#turtle.showturtle)203204|205206[`st()`](https://python-all.ru/2.7/library/turtle.html#turtle.st)207208[`hideturtle()`](https://python-all.ru/2.7/library/turtle.html#turtle.hideturtle)209210|211212[`ht()`](https://python-all.ru/2.7/library/turtle.html#turtle.ht)213214[`isvisible()`](https://python-all.ru/2.7/library/turtle.html#turtle.isvisible)215216**Внешний вид**217218[`shape()`](https://python-all.ru/2.7/library/turtle.html#turtle.shape)219220[`resizemode()`](https://python-all.ru/2.7/library/turtle.html#turtle.resizemode)221222[`shapesize()`](https://python-all.ru/2.7/library/turtle.html#turtle.shapesize)223224|225226[`turtlesize()`](https://python-all.ru/2.7/library/turtle.html#turtle.turtlesize)227228[`settiltangle()`](https://python-all.ru/2.7/library/turtle.html#turtle.settiltangle)229230[`tiltangle()`](https://python-all.ru/2.7/library/turtle.html#turtle.tiltangle)231232[`tilt()`](https://python-all.ru/2.7/library/turtle.html#turtle.tilt)233234**Использование событий**235236[`onclick()`](https://python-all.ru/2.7/library/turtle.html#turtle.onclick)237238[`onrelease()`](https://python-all.ru/2.7/library/turtle.html#turtle.onrelease)239240[`ondrag()`](https://python-all.ru/2.7/library/turtle.html#turtle.ondrag)241242[`mainloop()`](https://python-all.ru/2.7/library/turtle.html#turtle.mainloop)243244|245246[`done()`](https://python-all.ru/2.7/library/turtle.html#turtle.done)247248**Специальные методы черепахи**249250[`begin_poly()`](https://python-all.ru/2.7/library/turtle.html#turtle.begin_poly)251252[`end_poly()`](https://python-all.ru/2.7/library/turtle.html#turtle.end_poly)253254[`get_poly()`](https://python-all.ru/2.7/library/turtle.html#turtle.get_poly)255256[`clone()`](https://python-all.ru/2.7/library/turtle.html#turtle.clone)257258[`getturtle()`](https://python-all.ru/2.7/library/turtle.html#turtle.getturtle)259260|261262[`getpen()`](https://python-all.ru/2.7/library/turtle.html#turtle.getpen)263264[`getscreen()`](https://python-all.ru/2.7/library/turtle.html#turtle.getscreen)265266[`setundobuffer()`](https://python-all.ru/2.7/library/turtle.html#turtle.setundobuffer)267268[`undobufferentries()`](https://python-all.ru/2.7/library/turtle.html#turtle.undobufferentries)269270[`tracer()`](https://python-all.ru/2.7/library/turtle.html#turtle.tracer)271272[`window_width()`](https://python-all.ru/2.7/library/turtle.html#turtle.window_width)273274[`window_height()`](https://python-all.ru/2.7/library/turtle.html#turtle.window_height)275276### 24.5.2.2. Методы TurtleScreen/Screen277278**Управление окном**279280[`bgcolor()`](https://python-all.ru/2.7/library/turtle.html#turtle.bgcolor)281282[`bgpic()`](https://python-all.ru/2.7/library/turtle.html#turtle.bgpic)283284[`clear()`](https://python-all.ru/2.7/library/turtle.html#turtle.clear)285286|287288[`clearscreen()`](https://python-all.ru/2.7/library/turtle.html#turtle.clearscreen)289290[`reset()`](https://python-all.ru/2.7/library/turtle.html#turtle.reset)291292|293294[`resetscreen()`](https://python-all.ru/2.7/library/turtle.html#turtle.resetscreen)295296[`screensize()`](https://python-all.ru/2.7/library/turtle.html#turtle.screensize)297298[`setworldcoordinates()`](https://python-all.ru/2.7/library/turtle.html#turtle.setworldcoordinates)299300**Управление анимацией**301302[`delay()`](https://python-all.ru/2.7/library/turtle.html#turtle.delay)303304[`tracer()`](https://python-all.ru/2.7/library/turtle.html#turtle.tracer)305306[`update()`](https://python-all.ru/2.7/library/turtle.html#turtle.update)307308**Использование событий экрана**309310[`listen()`](https://python-all.ru/2.7/library/turtle.html#turtle.listen)311312[`onkey()`](https://python-all.ru/2.7/library/turtle.html#turtle.onkey)313314[`onclick()`](https://python-all.ru/2.7/library/turtle.html#turtle.onclick)315316|317318[`onscreenclick()`](https://python-all.ru/2.7/library/turtle.html#turtle.onscreenclick)319320[`ontimer()`](https://python-all.ru/2.7/library/turtle.html#turtle.ontimer)321322**Настройки и специальные методы**323324[`mode()`](https://python-all.ru/2.7/library/turtle.html#turtle.mode)325326[`colormode()`](https://python-all.ru/2.7/library/turtle.html#turtle.colormode)327328[`getcanvas()`](https://python-all.ru/2.7/library/turtle.html#turtle.getcanvas)329330[`getshapes()`](https://python-all.ru/2.7/library/turtle.html#turtle.getshapes)331332[`register_shape()`](https://python-all.ru/2.7/library/turtle.html#turtle.register_shape)333334|335336[`addshape()`](https://python-all.ru/2.7/library/turtle.html#turtle.addshape)337338[`turtles()`](https://python-all.ru/2.7/library/turtle.html#turtle.turtles)339340[`window_height()`](https://python-all.ru/2.7/library/turtle.html#turtle.window_height)341342[`window_width()`](https://python-all.ru/2.7/library/turtle.html#turtle.window_width)343344**Методы, специфичные для Screen**345346[`bye()`](https://python-all.ru/2.7/library/turtle.html#turtle.bye)347348[`exitonclick()`](https://python-all.ru/2.7/library/turtle.html#turtle.exitonclick)349350[`setup()`](https://python-all.ru/2.7/library/turtle.html#turtle.setup)351352[`title()`](https://python-all.ru/2.7/library/turtle.html#turtle.title)353354## 24.5.3. Методы RawTurtle/Turtle и соответствующие функции355356Большинство примеров в этом разделе ссылаются на экземпляр Turtle с именем `turtle`.357358### 24.5.3.1. Движение черепашки359360#### `turtle.forward(distance)`361362#### `turtle.fd(distance)`363364**Параметры**365366**distance** – число (целое или с плавающей запятой)367368Перемещает черепаху вперед на указанное *distance*, в направлении, в котором черепаха смотрит.369370```pycon371>>> turtle.position()372(0.00,0.00)373>>> turtle.forward(25)374>>> turtle.position()375(25.00,0.00)376>>> turtle.forward(-75)377>>> turtle.position()378(-50.00,0.00)379```380381#### `turtle.back(distance)`382383#### `turtle.bk(distance)`384385#### `turtle.backward(distance)`386387**Параметры**388389**distance** – число390391Перемещает черепаху назад на *расстояние*, противоположно направлению, в котором черепаха смотрит. Направление черепахи не меняется.392393```pycon394>>> turtle.position()395(0.00,0.00)396>>> turtle.backward(30)397>>> turtle.position()398(-30.00,0.00)399```400401#### `turtle.right(angle)`402403#### `turtle.rt(angle)`404405**Параметры**406407**angle** – число (целое или с плавающей запятой)408409Поворачивает черепаху вправо на *angle* единиц. (По умолчанию единицы – градусы, но их можно изменить с помощью функций [`degrees()`](https://python-all.ru/2.7/library/turtle.html#turtle.degrees) и [`radians()`](https://python-all.ru/2.7/library/turtle.html#turtle.radians).) Направление поворота зависит от режима черепахи, см. [`mode()`](https://python-all.ru/2.7/library/turtle.html#turtle.mode).410411```pycon412>>> turtle.heading()41322.0414>>> turtle.right(45)415>>> turtle.heading()416337.0417```418419#### `turtle.left(angle)`420421#### `turtle.lt(angle)`422423**Параметры**424425**angle** – число (целое или с плавающей запятой)426427Поворачивает черепаху влево на *angle* единиц. (По умолчанию единицы – градусы, но их можно изменить с помощью функций [`degrees()`](https://python-all.ru/2.7/library/turtle.html#turtle.degrees) и [`radians()`](https://python-all.ru/2.7/library/turtle.html#turtle.radians).) Направление поворота зависит от режима черепахи, см. [`mode()`](https://python-all.ru/2.7/library/turtle.html#turtle.mode).428429```pycon430>>> turtle.heading()43122.0432>>> turtle.left(45)433>>> turtle.heading()43467.0435```436437#### `turtle.goto(x, y=None)`438439#### `turtle.setpos(x, y=None)`440441#### `turtle.setposition(x, y=None)`442443**Параметры**444445- **x** – число или пара/вектор чисел446- **y** – число или `None`447448Если *y* равно `None`, то *x* должно быть парой координат или [`Vec2D`](https://python-all.ru/2.7/library/turtle.html#turtle.Vec2D) (например, как возвращается функцией [`pos()`](https://python-all.ru/2.7/library/turtle.html#turtle.pos)).449450Перемещает черепаху в абсолютную позицию. Если перо опущено, рисует линию. Направление черепахи не меняется.451452```pycon453>>> tp = turtle.pos()454>>> tp455(0.00,0.00)456>>> turtle.setpos(60,30)457>>> turtle.pos()458(60.00,30.00)459>>> turtle.setpos((20,80))460>>> turtle.pos()461(20.00,80.00)462>>> turtle.setpos(tp)463>>> turtle.pos()464(0.00,0.00)465```466467#### `turtle.setx(x)`468469**Параметры**470471**x** – число (целое или с плавающей запятой)472473Устанавливает первую координату черепахи в *x*, вторая координата остается без изменений.474475```pycon476>>> turtle.position()477(0.00,240.00)478>>> turtle.setx(10)479>>> turtle.position()480(10.00,240.00)481```482483#### `turtle.sety(y)`484485**Параметры**486487**y** – число (целое или с плавающей запятой)488489Устанавливает вторую координату черепахи в *y*, первая координата остается без изменений.490491```pycon492>>> turtle.position()493(0.00,40.00)494>>> turtle.sety(-10)495>>> turtle.position()496(0.00,-10.00)497```498499#### `turtle.setheading(to_angle)`500501#### `turtle.seth(to_angle)`502503**Параметры**504505**to\_angle** – число (целое или с плавающей запятой)506507Устанавливает направление черепахи в *to\_angle*. Вот некоторые распространенные направления в градусах:508509| стандартный режим | режим Logo |510| --- | --- |511| 0 – восток | 0 – север |512| 90 – север | 90 – восток |513| 180 – запад | 180 – юг |514| 270 – юг | 270 – запад |515516```pycon517>>> turtle.setheading(90)518>>> turtle.heading()51990.0520```521522#### `turtle.home()`523524Перемещает черепаху в начало координат – (0,0) – и устанавливает её направление в начальную ориентацию (зависит от режима, см. [`mode()`](https://python-all.ru/2.7/library/turtle.html#turtle.mode)).525526```pycon527>>> turtle.heading()52890.0529>>> turtle.position()530(0.00,-10.00)531>>> turtle.home()532>>> turtle.position()533(0.00,0.00)534>>> turtle.heading()5350.0536```537538#### `turtle.circle(radius, extent=None, steps=None)`539540**Параметры**541542- **radius** – число543- **extent** – число (или `None`)544- **steps** – целое число (или `None`)545546Рисует окружность с заданным *radius*. Центр находится на *radius* единиц левее черепахи; *extent* – угол – определяет, какая часть окружности рисуется. Если *extent* не указан, рисуется вся окружность. Если *extent* не является полной окружностью, одна из конечных точек дуги – это текущее положение пера. Дуга рисуется против часовой стрелки, если *radius* положительный, и по часовой стрелке в противном случае. В конце направление черепахи изменяется на величину *extent*.547548Поскольку окружность аппроксимируется вписанным правильным многоугольником, *steps* определяет количество используемых шагов. Если не указано, вычисляется автоматически. Может использоваться для рисования правильных многоугольников.549550```pycon551>>> turtle.home()552>>> turtle.position()553(0.00,0.00)554>>> turtle.heading()5550.0556>>> turtle.circle(50)557>>> turtle.position()558(-0.00,0.00)559>>> turtle.heading()5600.0561>>> turtle.circle(120, 180)  # нарисовать полуокружность562>>> turtle.position()563(0.00,240.00)564>>> turtle.heading()565180.0566```567568#### `turtle.dot(size=None, *color)`569570**Параметры**571572- **size** – целое число \>= 1 (если указано)573- **color** – строка цвета или кортеж числовых цветов574575Рисует круглую точку диаметром *size*, используя *color*. Если *size* не указан, используется максимальное из pensize+4 и 2\*pensize.576577```pycon578>>> turtle.home()579>>> turtle.dot()580>>> turtle.fd(50); turtle.dot(20, "blue"); turtle.fd(50)581>>> turtle.position()582(100.00,-0.00)583>>> turtle.heading()5840.0585```586587#### `turtle.stamp()`588589Наносит копию формы черепахи на холст в текущей позиции черепахи. Возвращает stamp\_id для этой печати, который можно использовать для её удаления вызовом `clearstamp(stamp_id)`.590591```pycon592>>> turtle.color("blue")593>>> turtle.stamp()59411595>>> turtle.fd(50)596```597598#### `turtle.clearstamp(stampid)`599600**Параметры**601602**stampid** – целое число, должно быть возвращаемым значением предыдущего вызова [`stamp()`](https://python-all.ru/2.7/library/turtle.html#turtle.stamp)603604Удаляет печать с заданным *stampid*.605606```pycon607>>> turtle.position()608(150.00,-0.00)609>>> turtle.color("blue")610>>> astamp = turtle.stamp()611>>> turtle.fd(50)612>>> turtle.position()613(200.00,-0.00)614>>> turtle.clearstamp(astamp)615>>> turtle.position()616(200.00,-0.00)617```618619#### `turtle.clearstamps(n=None)`620621**Параметры**622623**n** – целое число (или `None`)624625Удаляет все или первые/последние *n* отпечатков черепашки. Если *n* равно `None`, удаляет все отпечатки, если *n* \> 0, удаляет первые *n* отпечатков, а если *n* \< 0, удаляет последние *n* отпечатков.626627```pycon628>>> for i in range(8):629...     turtle.stamp(); turtle.fd(30)6301363114632156331663417635186361963720638>>> turtle.clearstamps(2)639>>> turtle.clearstamps(-2)640>>> turtle.clearstamps()641```642643#### `turtle.undo()`644645Отменяет (повторно) последнее(ие) действие(я) черепашки. Количество доступных действий отмены определяется размером буфера отмены.646647```pycon648>>> for i in range(4):649...     turtle.fd(50); turtle.lt(80)650...651>>> for i in range(8):652...     turtle.undo()653```654655#### `turtle.speed(speed=None)`656657**Параметры**658659**speed** – целое число в диапазоне 0..10 или speedstring (см. ниже).660661Устанавливает скорость черепашки в целое значение от 0 до 10. Если аргумент не указан, возвращает текущую скорость.662663Если входное значение – число больше 10 или меньше 0.5, скорость устанавливается в 0. Speedstrings сопоставляются со значениями скорости следующим образом:664665- «самый быстрый»: 0666- «быстрый»: 10667- “обычная”: 6668- “медленная”: 3669- “самая медленная”: 1670671Скорости от 1 до 10 обеспечивают всё более быструю анимацию рисования линий и поворотов черепашки.672673Внимание: *speed* = 0 означает, что *никакой* анимации не происходит. forward/back заставляют черепашку прыгать, а left/right заставляют черепашку мгновенно поворачиваться.674675```pycon676>>> turtle.speed()6773678>>> turtle.speed('normal')679>>> turtle.speed()6806681>>> turtle.speed(9)682>>> turtle.speed()6839684```685686### 24.5.3.2. Состояние черепашки687688#### `turtle.position()`689690#### `turtle.pos()`691692Возвращает текущее положение черепашки (x,y) (в виде [`Vec2D`](https://python-all.ru/2.7/library/turtle.html#turtle.Vec2D) вектора).693694```pycon695>>> turtle.pos()696(440.00,-0.00)697```698699#### `turtle.towards(x, y=None)`700701**Параметры**702703- **x** – число или пара/вектор чисел, или экземпляр черепашки704- **y** – число, если *x* – число, иначе `None`705706Возвращает угол между линией от позиции черепахи до позиции, заданной с помощью (x, y), вектора или другой черепахи. Это зависит от начальной ориентации черепахи, которая зависит от режима – «standard»/«world» или «logo»).707708```pycon709>>> turtle.goto(10, 10)710>>> turtle.towards(0,0)711225.0712```713714#### `turtle.xcor()`715716Возвращает x-координату черепашки.717718```pycon719>>> turtle.home()720>>> turtle.left(50)721>>> turtle.forward(100)722>>> turtle.pos()723(64.28,76.60)724>>> print turtle.xcor()72564.2787609687726```727728#### `turtle.ycor()`729730Возвращает y-координату черепашки.731732```pycon733>>> turtle.home()734>>> turtle.left(60)735>>> turtle.forward(100)736>>> print turtle.pos()737(50.00,86.60)738>>> print turtle.ycor()73986.6025403784740```741742#### `turtle.heading()`743744Возвращает текущий курс черепашки (значение зависит от режима черепашки, см. [`mode()`](https://python-all.ru/2.7/library/turtle.html#turtle.mode)).745746```pycon747>>> turtle.home()748>>> turtle.left(67)749>>> turtle.heading()75067.0751```752753#### `turtle.distance(x, y=None)`754755**Параметры**756757- **x** – число или пара/вектор чисел, или экземпляр черепашки758- **y** – число, если *x* – число, иначе `None`759760Возвращает расстояние от черепашки до точки (x,y), указанного вектора или указанной другой черепашки в единицах шага черепашки.761762```pycon763>>> turtle.home()764>>> turtle.distance(30,40)76550.0766>>> turtle.distance((30,40))76750.0768>>> joe = Turtle()769>>> joe.forward(77)770>>> turtle.distance(joe)77177.0772```773774### 24.5.3.3. Настройки измерения775776#### `turtle.degrees(fullcircle=360.0)`777778**Параметры**779780**fullcircle** – число781782Устанавливает единицы измерения углов, то есть задаёт количество «градусов» в полном обороте. Значение по умолчанию – 360 градусов.783784```pycon785>>> turtle.home()786>>> turtle.left(90)787>>> turtle.heading()78890.0789790Change angle measurement unit to grad (also known as gon,791grade, or gradian and equals 1/100-th of the right angle.)792>>> turtle.degrees(400.0)793>>> turtle.heading()794100.0795>>> turtle.degrees(360)796>>> turtle.heading()79790.0798```799800#### `turtle.radians()`801802Устанавливает единицы измерения углов в радианах. Эквивалентно `degrees(2*math.pi)`.803804```pycon805>>> turtle.home()806>>> turtle.left(90)807>>> turtle.heading()80890.0809>>> turtle.radians()810>>> turtle.heading()8111.5707963267948966812```813814### 24.5.3.4. Управление пером815816#### 24.5.3.4.1. Состояние рисования817818#### `turtle.pendown()`819820#### `turtle.pd()`821822#### `turtle.down()`823824Опускает перо – рисование при движении.825826#### `turtle.penup()`827828#### `turtle.pu()`829830#### `turtle.up()`831832Поднимает перо – при движении не рисует.833834#### `turtle.pensize(width=None)`835836#### `turtle.width(width=None)`837838**Параметры**839840**width** – положительное число841842Устанавливает толщину линии в *width* или возвращает её. Если для resizemode установлено «auto» и форма черепашки является многоугольником, этот многоугольник рисуется с такой же толщиной линии. Если аргумент не указан, возвращается текущая толщина пера.843844```pycon845>>> turtle.pensize()8461847>>> turtle.pensize(10)   # отсюда рисуются линии шириной 10848```849850#### `turtle.pen(pen=None, **pendict)`851852**Параметры**853854- **pen** – словарь, содержащий некоторые или все из перечисленных ниже ключей855- **pendict** – один или несколько именованных аргументов, использующих перечисленные ниже ключи856857Возвращает или устанавливает атрибуты пера в виде «словаря пера» со следующими парами ключ/значение:858859- “отображается”: True/False860- “перо опущено”: True/False861- “цвет пера”: строка цвета или кортеж цвета862- “цвет заливки”: строка цвета или кортеж цвета863- “размер пера”: положительное число864- “скорость”: число от 0 до 10865- “режим изменения размера”: “auto” or “user” or “noresize”866- “коэффициент растяжения”: (положительное число, положительное число)867- «outline»: положительное число868- «tilt»: число869870Этот словарь можно передать аргументом в последующий вызов [`pen()`](https://python-all.ru/2.7/library/turtle.html#turtle.pen), чтобы восстановить предыдущее состояние пера. Кроме того, один или несколько из этих атрибутов можно указать как именованные аргументы. Это позволяет установить несколько атрибутов пера одной инструкцией.871872```pycon873>>> turtle.pen(fillcolor="black", pencolor="red", pensize=10)874>>> sorted(turtle.pen().items())875[('fillcolor', 'black'), ('outline', 1), ('pencolor', 'red'),876 ('pendown', True), ('pensize', 10), ('resizemode', 'noresize'),877 ('shown', True), ('speed', 9), ('stretchfactor', (1, 1)), ('tilt', 0)]878>>> penstate=turtle.pen()879>>> turtle.color("yellow", "")880>>> turtle.penup()881>>> sorted(turtle.pen().items())882[('fillcolor', ''), ('outline', 1), ('pencolor', 'yellow'),883 ('pendown', False), ('pensize', 10), ('resizemode', 'noresize'),884 ('shown', True), ('speed', 9), ('stretchfactor', (1, 1)), ('tilt', 0)]885>>> turtle.pen(penstate, fillcolor="green")886>>> sorted(turtle.pen().items())887[('fillcolor', 'green'), ('outline', 1), ('pencolor', 'red'),888 ('pendown', True), ('pensize', 10), ('resizemode', 'noresize'),889 ('shown', True), ('speed', 9), ('stretchfactor', (1, 1)), ('tilt', 0)]890```891892#### `turtle.isdown()`893894Возвращает `True`, если перо опущено, и `False`, если поднято.895896```pycon897>>> turtle.penup()898>>> turtle.isdown()899False900>>> turtle.pendown()901>>> turtle.isdown()902True903```904905#### 24.5.3.4.2. Управление цветом906907#### `turtle.pencolor(*args)`908909Возвращает или задаёт цвет пера.910911Допускаются четыре формата ввода:912913**`pencolor()`**914915Возвращает текущий pencolor в виде строки спецификации цвета или в виде кортежа (см. пример). Может использоваться как входные данные для другого вызова color/pencolor/fillcolor.916917**`pencolor(colorstring)`**918919Задаёт цвет пера равным *colorstring*, строке описания цвета Tk, например, `"red"`, `"yellow"` или `"#33cc8c"`.920921**`pencolor((r, g, b))`**922923Задаёт цвет пера по цвету RGB, представленному кортежем из *r*, *g* и *b*. Каждое из значений *r*, *g* и *b* должно быть в диапазоне 0..colormode, где colormode равен 1.0 или 255 (см. [`colormode()`](https://python-all.ru/2.7/library/turtle.html#turtle.colormode)).924925**`pencolor(r, g, b)`**926927> Задаёт цвет пера по цвету RGB, заданному *r*, *g* и *b*. Каждое из значений *r*, *g* и *b* должно быть в диапазоне 0..colormode.928929Если форма черепахи (turtleshape) является многоугольником, то контур этого многоугольника рисуется вновь заданным цветом пера.930931```pycon932>>> colormode()9331.0934>>> turtle.pencolor()935'red'936>>> turtle.pencolor("brown")937>>> turtle.pencolor()938'brown'939>>> tup = (0.2, 0.8, 0.55)940>>> turtle.pencolor(tup)941>>> turtle.pencolor()942(0.2, 0.8, 0.5490196078431373)943>>> colormode(255)944>>> turtle.pencolor()945(51, 204, 140)946>>> turtle.pencolor('#32c18f')947>>> turtle.pencolor()948(50, 193, 143)949```950951#### `turtle.fillcolor(*args)`952953Возвращает или задаёт цвет заливки.954955Допускаются четыре формата ввода:956957**`fillcolor()`**958959Возвращает текущий fillcolor в виде строки спецификации цвета, возможно в формате кортежа (см. пример). Может использоваться как входные данные для другого вызова color/pencolor/fillcolor.960961**`fillcolor(colorstring)`**962963Задаёт цвет заливки равным *colorstring*, строке описания цвета Tk, например, `"red"`, `"yellow"` или `"#33cc8c"`.964965**`fillcolor((r, g, b))`**966967Задаёт цвет заливки по цвету RGB, представленному кортежем из *r*, *g* и *b*. Каждое из значений *r*, *g* и *b* должно быть в диапазоне 0..colormode, где colormode равен 1.0 или 255 (см. [`colormode()`](https://python-all.ru/2.7/library/turtle.html#turtle.colormode)).968969**`fillcolor(r, g, b)`**970971> Задаёт цвет заливки по цвету RGB, заданному *r*, *g* и *b*. Каждое из значений *r*, *g* и *b* должно быть в диапазоне 0..colormode.972973Если форма черепахи (turtleshape) является многоугольником, то внутренняя область этого многоугольника закрашивается вновь заданным цветом заливки.974975```pycon976>>> turtle.fillcolor("violet")977>>> turtle.fillcolor()978'violet'979>>> col = turtle.pencolor()980>>> col981(50, 193, 143)982>>> turtle.fillcolor(col)983>>> turtle.fillcolor()984(50, 193, 143)985>>> turtle.fillcolor('#ffffff')986>>> turtle.fillcolor()987(255, 255, 255)988```989990#### `turtle.color(*args)`991992Возвращает или задаёт цвет пера и цвет заливки.993994Допускается несколько форматов ввода. Они используют от 0 до 3 аргументов следующим образом:995996**`color()`**997998Возвращает текущий цвет пера и текущий цвет заливки в виде пары строк или кортежей с описанием цвета, как в [`pencolor()`](https://python-all.ru/2.7/library/turtle.html#turtle.pencolor) и [`fillcolor()`](https://python-all.ru/2.7/library/turtle.html#turtle.fillcolor).9991000**`color(colorstring)`, `color((r,g,b))`, `color(r,g,b)`**10011002Аргументы как в [`pencolor()`](https://python-all.ru/2.7/library/turtle.html#turtle.pencolor); устанавливает и fillcolor, и pencolor в указанное значение.10031004**`color(colorstring1, colorstring2)`, `color((r1,g1,b1), (r2,g2,b2))`**10051006> Эквивалентно `pencolor(colorstring1)` и `fillcolor(colorstring2)`, а также аналогично при использовании другого формата ввода.10071008Если форма черепахи – многоугольник, его контур и внутренняя область рисуются новыми установленными цветами.10091010```pycon1011>>> turtle.color("red", "green")1012>>> turtle.color()1013('red', 'green')1014>>> color("#285078", "#a0c8f0")1015>>> color()1016((40, 80, 120), (160, 200, 240))1017```10181019См. также: метод Screen [`colormode()`](https://python-all.ru/2.7/library/turtle.html#turtle.colormode).10201021#### 24.5.3.4.3. Заливка10221023#### `turtle.fill(flag)`10241025**Параметры**10261027**flag** – True/False (или 1/0 соответственно)10281029Вызовите `fill(True)` перед рисованием фигуры, которую нужно залить, и `fill(False)` после завершения. При вызове без аргументов возвращает состояние заливки (`True` если заливка активна, иначе `False`).10301031```pycon1032>>> turtle.fill(True)1033>>> for _ in range(3):1034...    turtle.forward(100)1035...    turtle.left(120)1036...1037>>> turtle.fill(False)1038```10391040#### `turtle.begin_fill()`10411042Вызывается непосредственно перед рисованием фигуры, которую нужно залить. Эквивалентно `fill(True)`.10431044#### `turtle.end_fill()`10451046Заполняет фигуру, нарисованную после последнего вызова [`begin_fill()`](https://python-all.ru/2.7/library/turtle.html#turtle.begin_fill). Эквивалентно `fill(False)`.10471048```pycon1049>>> turtle.color("black", "red")1050>>> turtle.begin_fill()1051>>> turtle.circle(80)1052>>> turtle.end_fill()1053```10541055#### 24.5.3.4.4. Дополнительное управление рисованием10561057#### `turtle.reset()`10581059Удаляет рисунки черепахи с экрана, перемещает черепаху в центр и сбрасывает переменные в значения по умолчанию.10601061```pycon1062>>> turtle.goto(0,-22)1063>>> turtle.left(100)1064>>> turtle.position()1065(0.00,-22.00)1066>>> turtle.heading()1067100.01068>>> turtle.reset()1069>>> turtle.position()1070(0.00,0.00)1071>>> turtle.heading()10720.01073```10741075#### `turtle.clear()`10761077Удаляет рисунки черепахи с экрана. Черепаха не перемещается. Состояние и положение черепахи, а также рисунки других черепах не затрагиваются.10781079#### `turtle.write(arg, move=False, align="left", font=("Arial", 8, "normal"))`10801081**Параметры**10821083- **arg** – объект, который будет записан на TurtleScreen.1084- **move** – True/False1085- **align** – одна из строк: «left», «center» или «right».1086- **font** – тройка (имя\_шрифта, размер\_шрифта, тип\_шрифта)10871088Записывает текст – строковое представление *arg* – в текущей позиции черепахи в соответствии с *align* («left», «center» или «right») и заданным шрифтом. Если *move* равно истине, перо перемещается в правый нижний угол текста. По умолчанию *move* равно `False`.10891090```python1091>>> turtle.write("Home = ", True, align="center")1092>>> turtle.write((0,0), True)1093```10941095### 24.5.3.5. Состояние черепахи10961097#### 24.5.3.5.1. Видимость10981099#### `turtle.hideturtle()`11001101#### `turtle.ht()`11021103Делает черепаху невидимой. Рекомендуется делать это во время выполнения сложного рисунка, потому что скрытие черепахи заметно ускоряет рисование.11041105```pycon1106>>> turtle.hideturtle()1107```11081109#### `turtle.showturtle()`11101111#### `turtle.st()`11121113Делает черепаху видимой.11141115```pycon1116>>> turtle.showturtle()1117```11181119#### `turtle.isvisible()`11201121Возвращает `True`, если черепаха показана, и `False`, если она скрыта.11221123```python1124>>> turtle.hideturtle()1125>>> turtle.isvisible()1126False1127>>> turtle.showturtle()1128>>> turtle.isvisible()1129True1130```11311132#### 24.5.3.5.2. Внешний вид11331134#### `turtle.shape(name=None)`11351136**Параметры**11371138**name** – a string which is a valid shapename11391140Устанавливает форму черепахи как форму с заданным *name* или, если имя не указано, возвращает имя текущей формы. Форма с именем *name* должна существовать в словаре форм TurtleScreen. Изначально доступны следующие многоугольные формы: «стрелка», «черепаха», «круг», «квадрат», «треугольник», «классическая». Чтобы узнать, как работать с формами, см. метод Screen [`register_shape()`](https://python-all.ru/2.7/library/turtle.html#turtle.register_shape).11411142```pycon1143>>> turtle.shape()1144'classic'1145>>> turtle.shape("turtle")1146>>> turtle.shape()1147'turtle'1148```11491150#### `turtle.resizemode(rmode=None)`11511152**Параметры**11531154**rmode** – one of the strings “auto”, “user”, “noresize”11551156Устанавливает режим изменения размера в одно из значений: «авто», «пользователь», «без изменения размера». Если *rmode* не указан, возвращает текущий режим изменения размера. Разные режимы изменения размера имеют следующие эффекты:11571158- “auto”: adapts the appearance of the turtle corresponding to the value of pensize.1159- “user”: adapts the appearance of the turtle according to the values of stretchfactor and outlinewidth (outline), which are set by [`shapesize()`](https://python-all.ru/2.7/library/turtle.html#turtle.shapesize).1160- «без изменения размера»: адаптация внешнего вида черепахи не производится.11611162resizemode(«user») вызывается [`shapesize()`](https://python-all.ru/2.7/library/turtle.html#turtle.shapesize) при использовании с аргументами.11631164```pycon1165>>> turtle.resizemode()1166'noresize'1167>>> turtle.resizemode("auto")1168>>> turtle.resizemode()1169'auto'1170```11711172#### `turtle.shapesize(stretch_wid=None, stretch_len=None, outline=None)`11731174#### `turtle.turtlesize(stretch_wid=None, stretch_len=None, outline=None)`11751176**Параметры**11771178- **stretch\_wid** – положительное число1179- **stretch\_len** – положительное число1180- **outline** – положительное число11811182Возвращает или задаёт атрибуты пера: коэффициенты растяжения по x/y и/или контур. Устанавливает режим изменения размера в “user”. Если и только если режим изменения размера установлен в “user”, черепаха будет отображаться растянутой в соответствии с коэффициентами растяжения: *stretch\_wid* – коэффициент растяжения перпендикулярно её ориентации, *stretch\_len* – коэффициент растяжения в направлении её ориентации, *outline* определяет ширину контура фигуры.11831184```pycon1185>>> turtle.shapesize()1186(1, 1, 1)1187>>> turtle.resizemode("user")1188>>> turtle.shapesize(5, 5, 12)1189>>> turtle.shapesize()1190(5, 5, 12)1191>>> turtle.shapesize(outline=8)1192>>> turtle.shapesize()1193(5, 5, 8)1194```11951196#### `turtle.tilt(angle)`11971198**Параметры**11991200**angle** – a number12011202Повернуть форму черепахи на *angle* от текущего угла наклона, но *не* изменять направление черепахи (направление движения).12031204```pycon1205>>> turtle.reset()1206>>> turtle.shape("circle")1207>>> turtle.shapesize(5,2)1208>>> turtle.tilt(30)1209>>> turtle.fd(50)1210>>> turtle.tilt(30)1211>>> turtle.fd(50)1212```12131214#### `turtle.settiltangle(angle)`12151216**Параметры**12171218**angle** – a number12191220Поворачивает форму черепашки так, чтобы она указывала в направлении, заданном *angle*, независимо от текущего угла наклона. *Не* меняет курс черепашки (направление движения).12211222```pycon1223>>> turtle.reset()1224>>> turtle.shape("circle")1225>>> turtle.shapesize(5,2)1226>>> turtle.settiltangle(45)1227>>> turtle.fd(50)1228>>> turtle.settiltangle(-45)1229>>> turtle.fd(50)1230```12311232#### `turtle.tiltangle()`12331234Возвращает текущий угол наклона, то есть угол между ориентацией формы черепахи и её курсом (направлением движения).12351236```pycon1237>>> turtle.reset()1238>>> turtle.shape("circle")1239>>> turtle.shapesize(5,2)1240>>> turtle.tilt(45)1241>>> turtle.tiltangle()124245.01243```12441245### 24.5.3.6. Использование событий12461247#### `turtle.onclick(fun, btn=1, add=None)`12481249**Параметры**12501251- **fun** – функция с двумя аргументами, которая будет вызвана с координатами точки щелчка на холсте1252- **btn** – номер кнопки мыши, по умолчанию 1 (левая кнопка мыши)1253- **add**`True` или `False` – если `True`, будет добавлена новая привязка, иначе она заменит предыдущую привязку12541255Привязывает *fun* к событиям щелчка мыши на этой черепашке. Если *fun* равно `None`, существующие привязки удаляются. Пример для анонимной черепашки, т.е. процедурного способа:12561257```pycon1258>>> def turn(x, y):1259...     left(180)1260...1261>>> onclick(turn)  # Теперь щелчок по черепашке повернёт её.1262>>> onclick(None)  # привязка события будет удалена1263```12641265#### `turtle.onrelease(fun, btn=1, add=None)`12661267**Параметры**12681269- **fun** – функция с двумя аргументами, которая будет вызвана с координатами точки щелчка на холсте1270- **btn** – номер кнопки мыши, по умолчанию 1 (левая кнопка мыши)1271- **add**`True` или `False` – если `True`, будет добавлена новая привязка, иначе она заменит предыдущую привязку12721273Привязывает *fun* к событиям отпускания кнопки мыши на этой черепашке. Если *fun* равно `None`, существующие привязки удаляются.12741275```pycon1276>>> class MyTurtle(Turtle):1277...     def glow(self,x,y):1278...         self.fillcolor("red")1279...     def unglow(self,x,y):1280...         self.fillcolor("")1281...1282>>> turtle = MyTurtle()1283>>> turtle.onclick(turtle.glow)     # нажатие на черепашку меняет цвет заливки на красный,1284>>> turtle.onrelease(turtle.unglow) # отпускание делает его прозрачным.1285```12861287#### `turtle.ondrag(fun, btn=1, add=None)`12881289**Параметры**12901291- **fun** – функция с двумя аргументами, которая будет вызвана с координатами точки щелчка на холсте1292- **btn** – номер кнопки мыши, по умолчанию 1 (левая кнопка мыши)1293- **add**`True` или `False` – если `True`, будет добавлена новая привязка, иначе она заменит предыдущую привязку12941295Привязывает *fun* к событиям перемещения мыши на этой черепашке. Если *fun* равно `None`, существующие привязки удаляются.12961297Примечание: Каждая последовательность событий перемещения мыши на черепашке предваряется событием щелчка мыши на этой черепашке.12981299```pycon1300>>> turtle.ondrag(turtle.goto)1301```13021303После этого щелчок и перетаскивание черепашки будет перемещать её по экрану, создавая рисунки от руки (если перо опущено).13041305#### `turtle.mainloop()`13061307#### `turtle.done()`13081309Запускает цикл событий – вызывает функцию mainloop из Tkinter. Должен быть последним выражением в программе с графикой turtle.13101311```python1312>>> turtle.mainloop()1313```13141315### 24.5.3.7. Специальные методы черепахи13161317#### `turtle.begin_poly()`13181319Начинает запись вершин многоугольника. Текущая позиция черепашки является первой вершиной многоугольника.13201321#### `turtle.end_poly()`13221323Остановить запись вершин многоугольника. Текущая позиция черепашки – последняя вершина многоугольника. Она будет соединена с первой вершиной.13241325#### `turtle.get_poly()`13261327Возвращает последний записанный многоугольник.13281329```pycon1330>>> turtle.home()1331>>> turtle.begin_poly()1332>>> turtle.fd(100)1333>>> turtle.left(20)1334>>> turtle.fd(30)1335>>> turtle.left(60)1336>>> turtle.fd(50)1337>>> turtle.end_poly()1338>>> p = turtle.get_poly()1339>>> register_shape("myFavouriteShape", p)1340```13411342#### `turtle.clone()`13431344Создаёт и возвращает клон черепашки с теми же координатами, направлением и свойствами черепашки.13451346```pycon1347>>> mick = Turtle()1348>>> joe = mick.clone()1349```13501351#### `turtle.getturtle()`13521353#### `turtle.getpen()`13541355Возвращает сам объект Turtle. Единственное разумное применение – как функция для возврата «анонимной черепашки»:13561357```pycon1358>>> pet = getturtle()1359>>> pet.fd(50)1360>>> pet1361<turtle.Turtle object at 0x...>1362```13631364#### `turtle.getscreen()`13651366Возвращает объект [`TurtleScreen`](https://python-all.ru/2.7/library/turtle.html#turtle.TurtleScreen), на котором черепашка рисует. Затем для этого объекта можно вызывать методы TurtleScreen.13671368```pycon1369>>> ts = turtle.getscreen()1370>>> ts1371<turtle._Screen object at 0x...>1372>>> ts.bgcolor("pink")1373```13741375#### `turtle.setundobuffer(size)`13761377**Параметры**13781379**size** – целое число или `None`13801381Устанавливает или отключает буфер отмены. Если *size* является целым числом, устанавливается пустой буфер отмены заданного размера. *size* задаёт максимальное количество действий черепахи, которые можно отменить с помощью метода/функции [`undo()`](https://python-all.ru/2.7/library/turtle.html#turtle.undo). Если *size* равно `None`, буфер отмены отключается.13821383```pycon1384>>> turtle.setundobuffer(42)1385```13861387#### `turtle.undobufferentries()`13881389Возвращает количество записей в буфере отмены.13901391```pycon1392>>> while undobufferentries():1393...     undo()1394```13951396#### `turtle.tracer(flag=None, delay=None)`13971398Копия соответствующего метода TurtleScreen.13991400Устарело с версии 2.6.14011402#### `turtle.window_width()`14031404#### `turtle.window_height()`14051406Оба являются копиями соответствующих методов TurtleScreen.14071408Устарело с версии 2.6.14091410### 24.5.3.8. Отступление об использовании составных фигур14111412Для использования составных фигур черепашки, состоящих из нескольких многоугольников разного цвета, необходимо явно использовать вспомогательный класс [`Shape`](https://python-all.ru/2.7/library/turtle.html#turtle.Shape), как описано ниже:141314141. Создаёт пустой объект Shape типа «compound».14152. Добавьте в этот объект необходимое количество компонентов с помощью метода `addcomponent()`.14161417   Например:14181419   ```pycon1420   >>> s = Shape("compound")1421   >>> poly1 = ((0,0),(10,-5),(0,10),(-10,-5))1422   >>> s.addcomponent(poly1, "red", "blue")1423   >>> poly2 = ((0,0),(10,-5),(-10,-5))1424   >>> s.addcomponent(poly2, "blue", "red")1425   ```14263. Теперь добавьте Shape в список фигур экрана и используйте его:14271428   ```pycon1429   >>> register_shape("myshape", s)1430   >>> shape("myshape")1431   ```14321433> **Примечание**1434>1435> Класс [`Shape`](https://python-all.ru/2.7/library/turtle.html#turtle.Shape) используется внутри метода [`register_shape()`](https://python-all.ru/2.7/library/turtle.html#turtle.register_shape) разными способами. Разработчику приложения приходится иметь дело с классом Shape *только* при использовании составных фигур, как показано выше!14361437## 24.5.4. Методы TurtleScreen/Screen и соответствующие функции14381439Большинство примеров в этом разделе относятся к экземпляру TurtleScreen с именем `screen`.14401441### 24.5.4.1. Управление окном14421443#### `turtle.bgcolor(*args)`14441445**Параметры**14461447**args** – строка цвета, три числа в диапазоне от 0 до colormode или кортеж из трёх таких чисел.14481449Устанавливает или возвращает цвет фона экрана TurtleScreen.14501451```pycon1452>>> screen.bgcolor("orange")1453>>> screen.bgcolor()1454'orange'1455>>> screen.bgcolor("#800080")1456>>> screen.bgcolor()1457(128, 0, 128)1458```14591460#### `turtle.bgpic(picname=None)`14611462**Параметры**14631464**picname** – строка, имя gif-файла или `"nopic"`, или `None`14651466Устанавливает фоновое изображение или возвращает имя текущего фонового изображения. Если *picname* – имя файла, устанавливает соответствующее изображение как фон. Если *picname* равно `"nopic"`, удаляет фоновое изображение, если оно есть. Если *picname* равно `None`, возвращает имя файла текущего фонового изображения.14671468```python1469>>> screen.bgpic()1470'nopic'1471>>> screen.bgpic("landscape.gif")1472>>> screen.bgpic()1473"landscape.gif"1474```14751476#### `turtle.clear()`14771478#### `turtle.clearscreen()`14791480Удаляет все рисунки и всех черепах с TurtleScreen. Сбрасывает теперь пустой TurtleScreen в исходное состояние: белый фон, без фонового изображения, без привязок событий и с включённой трассировкой.14811482> **Примечание**1483>1484> Этот метод TurtleScreen доступен как глобальная функция только под именем `clearscreen`. Глобальная функция `clear` – это другая, производная от метода Turtle `clear`.14851486#### `turtle.reset()`14871488#### `turtle.resetscreen()`14891490Сбрасывает всех черепах на экране в исходное состояние.14911492> **Примечание**1493>1494> Этот метод TurtleScreen доступен как глобальная функция только под именем `resetscreen`. Глобальная функция `reset` – это другая, производная от метода Turtle `reset`.14951496#### `turtle.screensize(canvwidth=None, canvheight=None, bg=None)`14971498**Параметры**14991500- **canvwidth** – положительное целое, новая ширина холста в пикселях1501- **canvheight** – положительное целое, новая высота холста в пикселях1502- **bg** – строка цвета или кортеж цвета, новый цвет фона15031504Если аргументы не переданы, возвращает текущие (canvaswidth, canvasheight). В противном случае изменяет размер холста, на котором рисуют черепахи. Не изменяет окно рисования. Для просмотра скрытых частей холста используйте полосы прокрутки. С помощью этого метода можно сделать видимыми те части рисунка, которые раньше находились за пределами холста.15051506```python1507>>> screen.screensize()1508(400, 300)1509>>> screen.screensize(2000,1500)1510>>> screen.screensize()1511(2000, 1500)1512```15131514например, для поиска случайно сбежавшей черепахи ;-)15151516#### `turtle.setworldcoordinates(llx, lly, urx, ury)`15171518**Параметры**15191520- **llx** – число, x-координата левого нижнего угла холста1521- **lly** – число, y-координата левого нижнего угла холста1522- **urx** – число, x-координата правого верхнего угла холста1523- **ury** – число, y-координата правого верхнего угла холста15241525Устанавливает пользовательскую систему координат и при необходимости переключается в режим «world». Это выполняет `screen.reset()`. Если режим «world» уже активен, все рисунки перерисовываются в соответствии с новыми координатами.15261527**ВНИМАНИЕ**: в пользовательских системах координат углы могут отображаться искажёнными.15281529```pycon1530>>> screen.reset()1531>>> screen.setworldcoordinates(-50,-7.5,50,7.5)1532>>> for _ in range(72):1533...     left(10)1534...1535>>> for _ in range(8):1536...     left(45); fd(2)   # правильный восьмиугольник1537```15381539### 24.5.4.2. Управление анимацией15401541#### `turtle.delay(delay=None)`15421543**Параметры**15441545**delay** – положительное целое15461547Устанавливает или возвращает задержку *delay* рисования в миллисекундах. (Это приблизительно интервал времени между двумя последовательными обновлениями холста.) Чем больше задержка рисования, тем медленнее анимация.15481549Необязательный аргумент:15501551```pycon1552>>> screen.delay()1553101554>>> screen.delay(5)1555>>> screen.delay()155651557```15581559#### `turtle.tracer(n=None, delay=None)`15601561**Параметры**15621563- **n** – неотрицательное целое число1564- **delay** – неотрицательное целое число15651566Включает/выключает анимацию черепашки и устанавливает задержку для обновления рисунков. Если указан *n*, то реально выполняется только каждое n-е обычное обновление экрана. (Может использоваться для ускорения рисования сложной графики.) Второй аргумент задаёт значение задержки (см. [`delay()`](https://python-all.ru/2.7/library/turtle.html#turtle.delay)).15671568```pycon1569>>> screen.tracer(8, 25)1570>>> dist = 21571>>> for i in range(200):1572...     fd(dist)1573...     rt(90)1574...     dist += 21575```15761577#### `turtle.update()`15781579Выполняет обновление TurtleScreen. Используется, когда tracer выключен.15801581См. также метод [`speed()`](https://python-all.ru/2.7/library/turtle.html#turtle.speed) RawTurtle/Turtle.15821583### 24.5.4.3. Использование событий экрана15841585#### `turtle.listen(xdummy=None, ydummy=None)`15861587Устанавливает фокус на TurtleScreen (для сбора событий клавиш). Фиктивные аргументы предусмотрены, чтобы можно было передать [`listen()`](https://python-all.ru/2.7/library/turtle.html#turtle.listen) методу onclick.15881589#### `turtle.onkey(fun, key)`15901591**Параметры**15921593- **fun** – функция без аргументов или `None`1594- **key** – строка: клавиша (например, “a”) или символ клавиши (например, “space”)15951596Привязывает *fun* к событию отпускания клавиши key. Если *fun* равен `None`, привязки событий удаляются. Замечание: для регистрации событий клавиш TurtleScreen должен иметь фокус. (См. метод [`listen()`](https://python-all.ru/2.7/library/turtle.html#turtle.listen).)15971598```pycon1599>>> def f():1600...     fd(50)1601...     lt(60)1602...1603>>> screen.onkey(f, "Up")1604>>> screen.listen()1605```16061607#### `turtle.onclick(fun, btn=1, add=None)`16081609#### `turtle.onscreenclick(fun, btn=1, add=None)`16101611**Параметры**16121613- **fun** – функция с двумя аргументами, которая будет вызвана с координатами точки щелчка на холсте1614- **btn** – номер кнопки мыши, по умолчанию 1 (левая кнопка мыши)1615- **add**`True` или `False` – если `True`, будет добавлена новая привязка, иначе она заменит предыдущую привязку16161617Привязывает *fun* к событиям щелчка мыши на этом экране. Если *fun* равен `None`, существующие привязки удаляются.16181619Пример для экземпляра TurtleScreen с именем `screen` и экземпляра Turtle с именем turtle:16201621```pycon1622>>> screen.onclick(turtle.goto) # Последующий щелчок по TurtleScreen заставит1623>>>                             # черепашку переместиться в точку щелчка.1624>>> screen.onclick(None)        # снова удалить привязку события1625```16261627> **Примечание**1628>1629> Этот метод TurtleScreen доступен как глобальная функция только под именем `onscreenclick`. Глобальная функция `onclick` – это другая, производная от метода Turtle `onclick`.16301631#### `turtle.ontimer(fun, t=0)`16321633**Параметры**16341635- **fun** – функция без аргументов1636- **t** – число \>= 016371638Устанавливает таймер, который вызывает *fun* через *t* миллисекунд.16391640```pycon1641>>> running = True1642>>> def f():1643...     if running:1644...         fd(50)1645...         lt(60)1646...         screen.ontimer(f, 250)1647>>> f()   ### заставляет черепашку обходить вокруг1648>>> running = False1649```16501651### 24.5.4.4. Настройки и специальные методы16521653#### `turtle.mode(mode=None)`16541655**Параметры**16561657**mode** – одна из строк “standard”, “logo” или “world”16581659Устанавливает режим черепахи (“standard”, “logo” или “world”) и выполняет сброс. Если режим не задан, возвращается текущий режим.16601661Режим “standard” совместим со старой [`turtle`](https://python-all.ru/2.7/library/turtle.html#module-turtle). Режим “logo” совместим с большинством черепашьих графических средств Logo. Режим “world” использует заданные пользователем «мировые координаты». **Внимание**: в этом режиме углы выглядят искажёнными, если `x/y` коэффициент единицы измерения не равен 1.16621663| Режим | Начальное направление черепахи | положительные углы |1664| --- | --- | --- |1665| “standard” | вправо (восток) | против часовой стрелки |1666| “logo” | вверх (север) | по часовой стрелке |16671668```pycon1669>>> mode("logo")   # сбрасывает направление черепашки на север1670>>> mode()1671'logo'1672```16731674#### `turtle.colormode(cmode=None)`16751676**Параметры**16771678**cmode** – одно из значений 1.0 или 25516791680Возвращает цветовой режим или устанавливает его в значение 1.0 или 255. Впоследствии значения *r*, *g*, *b* цветовых троек должны находиться в диапазоне от 0 до *cmode*.16811682```pycon1683>>> screen.colormode(1)1684>>> turtle.pencolor(240, 160, 80)1685Traceback (most recent call last):1686     ...1687TurtleGraphicsError: bad color sequence: (240, 160, 80)1688>>> screen.colormode()16891.01690>>> screen.colormode(255)1691>>> screen.colormode()16922551693>>> turtle.pencolor(240,160,80)1694```16951696#### `turtle.getcanvas()`16971698Возвращает Canvas данного TurtleScreen. Полезно для тех, кто знает, что делать с Canvas из Tkinter.16991700```pycon1701>>> cv = screen.getcanvas()1702>>> cv1703<turtle.ScrolledCanvas instance at 0x...>1704```17051706#### `turtle.getshapes()`17071708Возвращает список названий всех доступных в данный момент форм черепашки.17091710```pycon1711>>> screen.getshapes()1712['arrow', 'blank', 'circle', ..., 'turtle']1713```17141715#### `turtle.register_shape(name, shape=None)`17161717#### `turtle.addshape(name, shape=None)`17181719Эту функцию можно вызвать тремя различными способами:172017211. *name* – это имя gif-файла, а *shape* – это `None`: установите соответствующую форму изображения.17221723   ```python1724   >>> screen.register_shape("turtle.gif")1725   ```17261727   > **Примечание**1728   >1729   > Формы изображений *не* поворачиваются при повороте черепашки, поэтому они не отображают направление черепашки!17302. *name* – произвольная строка, а *shape* – кортеж пар координат: устанавливает соответствующую многоугольную форму.17311732   ```pycon1733   >>> screen.register_shape("triangle", ((5,-3), (0,5), (-5,-3)))1734   ```17353. *name* – произвольная строка, а shape – (составной) объект [`Shape`](https://python-all.ru/2.7/library/turtle.html#turtle.Shape): устанавливает соответствующую составную фигуру.17361737Добавляет форму черепашки в список форм TurtleScreen. Только зарегистрированные таким образом формы можно использовать, выполнив команду `shape(shapename)`.17381739#### `turtle.turtles()`17401741Возвращает список черепашек на экране.17421743```pycon1744>>> for turtle in screen.turtles():1745...     turtle.color("red")1746```17471748#### `turtle.window_height()`17491750Возвращает высоту окна черепашки.17511752```python1753>>> screen.window_height()17544801755```17561757#### `turtle.window_width()`17581759Возвращает ширину окна черепашки.17601761```python1762>>> screen.window_width()17636401764```17651766### 24.5.4.5. Методы, специфичные для Screen, не унаследованные от TurtleScreen17671768#### `turtle.bye()`17691770Закрывает окно графики черепашки.17711772#### `turtle.exitonclick()`17731774Привязать метод bye() к щелчкам мыши на экране.17751776Если значение «using\_IDLE» в словаре конфигурации равно `False` (значение по умолчанию), также запускается главный цикл. Примечание: если используется IDLE с ключом `-n` (без подпроцесса), это значение следует установить в `True` в `turtle.cfg`. В этом случае собственный главный цикл IDLE активен также для клиентского скрипта.17771778#### `turtle.setup(width=_CFG["width"], height=_CFG["height"], startx=_CFG["leftright"], starty=_CFG["topbottom"])`17791780Устанавливает размер и положение главного окна. Значения аргументов по умолчанию хранятся в словаре конфигурации и могут быть изменены через файл `turtle.cfg`.17811782**Параметры**17831784- **width** – если целое число, размер в пикселях; если число с плавающей запятой, доля экрана; по умолчанию – 50% экрана.1785- **height** – если целое число, высота в пикселях; если число с плавающей запятой, доля от экрана; по умолчанию 75% экрана1786- **startx** – если положительное, начальная позиция в пикселях от левого края экрана; если отрицательное – от правого края; если `None`, окно центрируется по горизонтали1787- **starty** – если положительное, начальная позиция в пикселях от верхнего края экрана; если отрицательное – от нижнего края; если `None`, окно центрируется по вертикали17881789```pycon1790>>> screen.setup (width=200, height=200, startx=0, starty=0)1791>>>              # устанавливает окно размером 200x200 пикселей в верхнем левом углу экрана1792>>> screen.setup(width=.75, height=0.5, startx=None, starty=None)1793>>>              # устанавливает окно 75% на 50% экрана и центрирует его1794```17951796#### `turtle.title(titlestring)`17971798**Параметры**17991800**titlestring** – строка, отображаемая в заголовке окна черепашьей графики18011802Устанавливает заголовок окна черепашки равным *titlestring*.18031804```pycon1805>>> screen.title("Welcome to the turtle zoo!")1806```18071808## 24.5.5. Публичные классы модуля [`turtle`](https://python-all.ru/2.7/library/turtle.html#module-turtle)18091810#### `class turtle.RawTurtle(canvas)`18111812#### `class turtle.RawPen(canvas)`18131814**Параметры**18151816**canvas**`Tkinter.Canvas`, [`ScrolledCanvas`](https://python-all.ru/2.7/library/turtle.html#turtle.ScrolledCanvas) или [`TurtleScreen`](https://python-all.ru/2.7/library/turtle.html#turtle.TurtleScreen)18171818Создаёт черепашку. Объект черепашки обладает всеми методами, описанными выше как «методы Turtle/RawTurtle».18191820#### `class turtle.Turtle`18211822Подкласс RawTurtle, имеет тот же интерфейс, но рисует на объекте [`Screen`](https://python-all.ru/2.7/library/turtle.html#turtle.Screen) по умолчанию, который создаётся автоматически при первом обращении.18231824#### `class turtle.TurtleScreen(cv)`18251826**Параметры**18271828**cv**`Tkinter.Canvas`18291830Предоставляет экранно-ориентированные методы, такие как `setbg()` и другие, описанные выше.18311832#### `class turtle.Screen`18331834Подкласс TurtleScreen, [дополненный четырьмя методами](https://python-all.ru/2.7/library/turtle.html#screenspecific).18351836#### `class turtle.ScrolledCanvas(master)`18371838**Параметры**18391840**master** – виджет Tkinter, в который помещается ScrolledCanvas; например, Tkinter-холст с добавленными полосами прокрутки18411842Используется классом Screen, который, таким образом, автоматически предоставляет ScrolledCanvas в качестве поля для черепашек.18431844#### `class turtle.Shape(type_, data)`18451846**Параметры**18471848**type\_** – одна из строк: «polygon», «image», «compound»18491850Структура данных для описания фигур. Пара `(type_, data)` должна соответствовать следующей спецификации:18511852| *type\_* | *данные* |1853| --- | --- |1854| «polygon» | кортеж многоугольника, т.е. кортеж пар координат |1855| «image» | изображение (в таком виде используется только внутри!) |1856| «compound» | `None` (составная фигура должна строиться с помощью метода [`addcomponent()`](https://python-all.ru/2.7/library/turtle.html#turtle.Shape.addcomponent)) |18571858#### `addcomponent(poly, fill, outline=None)`18591860**Параметры**18611862- **poly** – многоугольник, т.е. кортеж пар чисел1863- **fill** – цвет, которым будет заполнен *poly*1864- **outline** – цвет контура многоугольника (если задан)18651866Пример:18671868```pycon1869>>> poly = ((0,0),(10,-5),(0,10),(-10,-5))1870>>> s = Shape("compound")1871>>> s.addcomponent(poly, "red", "blue")1872>>> # ... добавьте больше компонентов, а затем используйте register_shape()1873```18741875См. [Экскурс об использовании составных фигур](https://python-all.ru/2.7/library/turtle.html#compoundshapes).18761877#### `class turtle.Vec2D(x, y)`18781879Двумерный векторный класс, используемый как вспомогательный класс для реализации graphics черепашки. Может быть полезен и для программ с графикой черепашки. Производный от tuple, так что вектор – это кортеж!18801881Предоставляет (для векторов *a*, *b* и числа *k*):18821883- `a + b` сложение векторов1884- `a - b` вычитание векторов1885- `a * b` скалярное произведение1886- `k * a` и `a * k` умножение на скаляр1887- `abs(a)` абсолютное значение a1888- `a.rotate(angle)` поворот18891890## 24.5.6. Справка и настройка18911892### 24.5.6.1. Как пользоваться справкой18931894Публичные методы классов Screen и Turtle подробно документированы через docstrings. Их можно использовать как онлайн-справку через средства помощи Python:18951896- При использовании IDLE всплывающие подсказки показывают сигнатуры и первые строки docstrings для введённых вызовов функций/методов.1897- Вызов [`help()`](https://python-all.ru/2.7/library/functions.html#help) для методов или функций отображает docstrings:18981899  ```python1900  >>> help(Screen.bgcolor)1901  Help on method bgcolor in module turtle:19021903  bgcolor(self, *args) unbound turtle.Screen method1904      Set or return backgroundcolor of the TurtleScreen.19051906      Arguments (if given): a color string or three numbers1907      in the range 0..colormode or a 3-tuple of such numbers.19081909        >>> screen.bgcolor("orange")1910        >>> screen.bgcolor()1911        "orange"1912        >>> screen.bgcolor(0.5,0,0.5)1913        >>> screen.bgcolor()1914        "#800080"19151916  >>> help(Turtle.penup)1917  Help on method penup in module turtle:19181919  penup(self) unbound turtle.Turtle method1920      Pull the pen up -- no drawing when moving.19211922      Aliases: penup | pu | up19231924      No argument19251926      >>> turtle.penup()1927  ```1928- Docstrings функций, производных от методов, имеют изменённую форму:19291930  ```python1931  >>> help(bgcolor)1932  Help on function bgcolor in module turtle:19331934  bgcolor(*args)1935      Set or return backgroundcolor of the TurtleScreen.19361937      Arguments (if given): a color string or three numbers1938      in the range 0..colormode or a 3-tuple of such numbers.19391940      Example::19411942        >>> bgcolor("orange")1943        >>> bgcolor()1944        "orange"1945        >>> bgcolor(0.5,0,0.5)1946        >>> bgcolor()1947        "#800080"19481949  >>> help(penup)1950  Help on function penup in module turtle:19511952  penup()1953      Pull the pen up -- no drawing when moving.19541955      Aliases: penup | pu | up19561957      No argument19581959      Example:1960      >>> penup()1961  ```19621963Эти изменённые docstrings создаются автоматически вместе с определениями функций, которые производятся от методов во время импорта.19641965### 24.5.6.2. Перевод строк документации на разные языки19661967Существует утилита для создания словаря, ключами которого являются имена методов, а значениями – docstrings публичных методов классов Screen и Turtle.19681969#### `turtle.write_docstringdict(filename="turtle_docstringdict")`19701971**Параметры**19721973**filename** – строка, используемая как имя файла19741975Создаёт и записывает словарь docstring в Python-скрипт с заданным именем файла. Эту функцию необходимо вызывать явно (она не используется классами графики черепашки). Словарь docstring будет записан в Python-скрипт `filename.py`. Он предназначен для использования в качестве шаблона для перевода docstrings на разные языки.19761977Если вы (или ваши студенты) хотите использовать [`turtle`](https://python-all.ru/2.7/library/turtle.html#module-turtle) с онлайн-справкой на вашем родном языке, необходимо перевести docstrings и сохранить полученный файл, например, как `turtle_docstringdict_german.py`.19781979Если в вашем файле `turtle.cfg` есть соответствующая запись, этот словарь будет считан на этапе импорта и заменит оригинальные англоязычные строки документации.19801981На момент написания этого текста есть словари строк документации на немецком и итальянском. (Запросы направляйте на [glingl@aon.at](https://python-all.ru/2.7/library/turtle.html).)19821983### 24.5.6.3. Как настроить экран и черепашек19841985Встроенная конфигурация по умолчанию имитирует внешний вид и поведение старого модуля turtle, чтобы сохранить максимально возможную совместимость с ним.19861987Если вы хотите использовать другую конфигурацию, которая лучше отражает возможности этого модуля или лучше соответствует вашим потребностям, например, для использования в классе, вы можете подготовить файл конфигурации `turtle.cfg`, который будет прочитан на этапе импорта и изменит конфигурацию в соответствии с его настройками.19881989Встроенная конфигурация соответствует следующему turtle.cfg:19901991```python1992width = 0.51993height = 0.751994leftright = None1995topbottom = None1996canvwidth = 4001997canvheight = 3001998mode = standard1999colormode = 1.02000delay = 102001undobuffersize = 10002002shape = classic2003pencolor = black2004fillcolor = black2005resizemode = noresize2006visible = True2007language = english2008exampleturtle = turtle2009examplescreen = screen2010title = Python Turtle Graphics2011using_IDLE = False2012```20132014Краткое пояснение выбранных записей:20152016- Первые четыре строки соответствуют аргументам метода `Screen.setup()`.2017- Строки 5 и 6 соответствуют аргументам метода `Screen.screensize()`.2018- *shape* может быть любой из встроенных форм, например: arrow, turtle и т.д. Для получения дополнительной информации попробуйте `help(shape)`.2019- Если требуется не использовать цвет заливки (т.е. сделать черепашку прозрачной), необходимо написать `fillcolor = ""` (но все непустые строки не должны содержать кавычки в cfg-файле).2020- Если вы хотите отразить состояние черепашки, вы должны использовать `resizemode = auto`.2021- Если задать, например, `language = italian`, то словарь docstringdict `turtle_docstringdict_italian.py` будет загружен во время импорта (если он присутствует в пути импорта, например, в том же каталоге, что и [`turtle`](https://python-all.ru/2.7/library/turtle.html#module-turtle)).2022- Записи *exampleturtle* и *examplescreen* задают имена этих объектов, как они встречаются в строках документации. Преобразование строк документации методов в строки документации функций удалит эти имена из строк документации.2023- *using\_IDLE*: Установите это в `True`, если вы регулярно работаете с IDLE и его ключом -n («без подпроцесса»). Это предотвратит вход [`exitonclick()`](https://python-all.ru/2.7/library/turtle.html#turtle.exitonclick) в главный цикл.20242025Может быть файл `turtle.cfg` в каталоге, где хранится [`turtle`](https://python-all.ru/2.7/library/turtle.html#module-turtle), и дополнительный файл в текущем рабочем каталоге. Последний переопределит настройки первого.20262027Каталог `Demo/turtle` содержит файл `turtle.cfg`. Вы можете изучить его как пример и увидеть его эффекты при запуске демонстраций (желательно не из средства просмотра демонстраций).20282029## 24.5.7. Демонстрационные скрипты20302031There is a set of demo scripts in the turtledemo directory located in the `Demo/turtle` directory in the source distribution.20322033Он содержит:20342035- a set of 15 demo scripts demonstrating different features of the new module [`turtle`](https://python-all.ru/2.7/library/turtle.html#module-turtle)2036- a demo viewer `turtleDemo.py` which can be used to view the sourcecode of the scripts and run them at the same time. 14 of the examples can be accessed via the Examples menu; all of them can also be run standalone.2037- The example `turtledemo_two_canvases.py` demonstrates the simultaneous use of two canvases with the turtle module. Therefore it only can be run standalone.2038- There is a `turtle.cfg` file in this directory, which also serves as an example for how to write and use such files.20392040Демо-скрипты:20412042| Имя | Описание | Возможности |2043| --- | --- | --- |2044| bytedesign | сложный классический узор черепашьей графики | [`tracer()`](https://python-all.ru/2.7/library/turtle.html#turtle.tracer), delay, [`update()`](https://python-all.ru/2.7/library/turtle.html#turtle.update) |2045| chaos | строит график динамики Ферхюльста, показывает, что компьютерные вычисления иногда могут давать результаты, противоречащие здравому смыслу | мировые координаты |2046| clock | аналоговые часы, показывающие время вашего компьютера | черепахи как стрелки часов, ontimer |2047| colormixer | эксперимент с r, g, b | [`ondrag()`](https://python-all.ru/2.7/library/turtle.html#turtle.ondrag) |2048| fractalcurves | Кривые Гильберта и Коха | рекурсия |2049| lindenmayer | этноматематика (индийские коламы) | L-система |2050| minimal\_hanoi | Ханойские башни | Прямоугольные черепахи как диски Ханоя (shape, shapesize) |2051| paint | супер-минималистичная программа для рисования | [`onclick()`](https://python-all.ru/2.7/library/turtle.html#turtle.onclick) |2052| peace | элементарный | черепашка: внешний вид и анимация |2053| penrose | непериодическое замощение воздушными змеями и дротиками | [`stamp()`](https://python-all.ru/2.7/library/turtle.html#turtle.stamp) |2054| planet\_and\_moon | симуляция гравитационной системы | составные фигуры, [`Vec2D`](https://python-all.ru/2.7/library/turtle.html#turtle.Vec2D) |2055| дерево | (графическое) дерево обхода в ширину (с использованием генераторов) | [`clone()`](https://python-all.ru/2.7/library/turtle.html#turtle.clone) |2056| Википедия | узор из статьи в Википедии о черепашьей графике | [`clone()`](https://python-all.ru/2.7/library/turtle.html#turtle.clone), [`undo()`](https://python-all.ru/2.7/library/turtle.html#turtle.undo) |2057| инь-ян | ещё один элементарный пример | [`circle()`](https://python-all.ru/2.7/library/turtle.html#turtle.circle) |20582059Удачи!2060