Найти в Дзене
Python | START

6. Функции в Python

В программировании существует мощный инструмент - ФУНКЦИИ. Это часть кода, которую можно отложить до востребования. А значит этот код будет исполнен только тогда, когда мы вызовем эту функцию. Её можно вызывать несколько раз. Поэтому функция важная концепция для программирования. Написав единожды блок кода, его можно использовать много раз. Для того чтобы написать функцию ВАЖНО решить, что она будет делать и лучше всего это записать в комментариях. Комментарий должен быть чёткий и понятный. Напишем функцию для вычисления площади треугольника. В ней будет две части. Первая - это заголовок , а вторая - это тело функции. Начнем с первой части. Заголовок - определяет функцию и начинается с ключевого слова def(сокращение от defint 'определять'), таким образом мы сообщаем , что создаём функцию. Затем идёт 'имя функции', в нём нужно кратко сообщить, что делает функция (triangle_area). Далее в круглых скобках перечислены параметры, и в нашем случае это основание и высота. Функции могут

В программировании существует мощный инструмент - ФУНКЦИИ. Это часть кода, которую можно отложить до востребования. А значит этот код будет исполнен только тогда, когда мы вызовем эту функцию. Её можно вызывать несколько раз. Поэтому функция важная концепция для программирования. Написав единожды блок кода, его можно использовать много раз. Для того чтобы написать функцию ВАЖНО решить, что она будет делать и лучше всего это записать в комментариях.

Комментарий должен быть чёткий и понятный.

Напишем функцию для вычисления площади треугольника.

В ней будет две части. Первая - это заголовок , а вторая - это тело функции.

Начнем с первой части. Заголовок - определяет функцию и начинается с ключевого слова def(сокращение от defint 'определять'), таким образом мы сообщаем , что создаём функцию. Затем идёт 'имя функции', в нём нужно кратко сообщить, что делает функция (triangle_area). Далее в круглых скобках перечислены параметры, и в нашем случае это основание и высота. Функции могут принимать ноль и более параметров, то есть, их может быть ноль, один, два, сто, другими словами столько параметров, сколько нужно, чтобы вычислить необходимое. Названия у параметров должны быть понятные . Base (основание) и height (высота). В конце должно стоять двоеточие. Двоеточие означает что мы хотим начать новый блок кода. Новый блок обозначается отступом. Размер отступа 4 пробела

и важно чтобы он был везде одинаковый. Все что сдвинулось после отступа это тело функции. По формуле треугольника, первый оператор вычисляет площадь по формуле. Площадь треугольника - это половина основания, умноженная на высоту. Это записано на 3-ей строке. На четвертой возвращаем эту площадь функцией 'RETURN'. Return - это ключевое слово, которое выдаёт результат функции. Она может вернуть одно значение.

Схема
Схема

Записав функцию мы можем её запустить, но ничего не произойдёт почему ? Потому что это кусок куда, выполнение которого отложено. Выполниться только, когда вызовем её. Необходимо написать вызов этой функции. Допустим, А1 = triangle_area. Для примера возьмем основание равное 3 и высоту равную 8. Как это работает ? Мы присваиваем значение А1, затем выводим А1, что же содержит А1 ? А1 получает вывод функции triangle_area, что есть вывод? Вывод - что угодно, что возвращает функция после оператора return, в нашем случае это переменная area (площадь), которой был присвоен результат умножения высоты на половину основания. Представим функцию в виде чёрного ящика. У него есть имя - triangle_area. У него есть несколько входных значений 2 base и height . В ящике что-то происходит, мы вычисляем выходное значение, называем его area и выводим. Ключевой момент в том, что base, height и area существуют только внутри этого ящика, внутри функции и нигде больше. Что происходит когда вызываем функцию ? Для вызова функции использую имя и в скобках задаю значения параметров. Вычисляется значение площади. Печатаем выходное значение.

Визуализация функции:

# функция для вычисления площади треугольника

def triagle_area(base, height):

area = (1.0/ 2) * base * height

return area

a1 = triagle_area (3, 2)

print a1

Запустив код мы получим значение 3!

-3