GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing opentechschool.github.io — Функции с параметрами — Introduction to Programming with Python Функции с параметрами¶Введение¶Мы уменьшаем количество нашего кода и добавляем функции, что бы избежать повторений - это называется рефакторинг. Рефакторинг крайне полезен. Ведь функции, которые мы определили не очень “гибкие”. Необходимые значения заданы внутри функций и если мы захотим изменить угол или дистанцию - нам прийдеться писать новую функцию. Наша функция для рисования шестиугольников может рисовать шестиугольники только одного размера! Поэтому у нас должна быть возможность задавать параметры функции, которые также называют аргументами. В таком случае переменные в функции могут принимать разные значения кождый раз, когда мы вызываем нашу функцию: Вспомни, как мы описали функцию def line_without_moving(): turtle.forward(50) turtle.backward(50) Мы можем улучить её используя параметр: def line_without_moving(length): turtle.forward(length) turtle.backward(length) Параметр функции действует как переменная, но только внутри функции, в которой мы его объявили. Теперь можно вызвать новую функцию со значением, которое необходимо ей передать: line_without_moving(50) line_without_moving(40) Мы пользовались функциями с параметрами еще в самом начале учебника используя И мы можем вставить столько аргументов (или параметров), сколько захотим, дав им разные имена и разделив запятыми: def tilted_line_without_moving(length, angle): turtle.left(angle) turtle.forward(length) turtle.backward(length) Функция с параметрами для шестиугольника произвольного размера¶Упражнение¶Напиши функцию для рисования шестиугольника, которая позволяет выбирать его размер при вызове. Решение¶def hexagon(size): for _ in range(6): turtle.forward(size) turtle.left(60) Функция с несколькими параметрами¶Упражнение¶Напиши функцию для рисования фигур с произвольным количеством (т. е. >2) сторон любой длины и проверь её в деле. Пример рисования фигур с помощью этой функции:
Совет Сумма внешних углов любой фигуры всегда равна 360 градусов! Решение¶def draw_shape(sides, length): for _ in range(sides): turtle.forward(length) turtle.right(360 / sides) Дополнительно¶Это может звучать немного безумно, но вполне возможно передать функции в качестве параметра другую функцию — Python обращается с ними так же, как и с переменными, числами и строками. For instance, you could create a shape drawing function which turned one way or another
depending on which turtle function you passed to it - Попоробуй, сможешь ли ты это сделать! Примечание Passing a function (e.g |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |