Внимание! онлайн-режим нашего курса не поддерживает ячейки с программным кодом. Для работы с ними установите (бесплатную) программу Jupyter Notebook. Это позволит писать и выполнять свои программы, строить графики и связываться с конструкциями на микроконтроллерах. .

Слово def (от англ. definition - определение) говорит компьютеру, что сейчас мы будем объявлять ему свою функцию.

Слово return (от англ. - вернуть) показывает, что именно мы ожидаем в ответ. Впрочем, оно не обязательно, если мы не ждем от функции никакого ответа, а просто хотим произвести некие действия:



def sam(slovo):
print ("Сам ты -",slovo,"!")

Тестируем:


sam("обезьяна")

Как видишь, при объявлении функции после её имени указываестя её аргумент - переменная, над которой функция будет работать.

Или несколько аргументов. А в конце строки обязательно двоеточие:







#Объявим функцию

def время(путь, скорость):
return путь/скорость

время(720,40) #А это уже не часть объявления функции, это ее использование

Следующие за двоеочием строки идут с отступом в четыре пробела. Этот отступ сам появляется и играет в Python очень важную роль - он показывает компьютеру где заканчивается объявление функции и начинаестя обычная программа.

Сначала это может покзаться странным, но это очень удобно так как во-первых не нужно никакой специальной команды чтобы указать где заканчивается объявление функции (return может встречаться в функции несколько раз или вооще отсутствовать), а во-вторых - с первого взгляда сразу понятно где - что.

Эта политика двоеточий и отступов часто используется в Python когда важно отделить некоторый участок программы от всего предыдущего и последующего.


Что если в определении функции указано два аргумента, а мы ей дадим только один? Проверим!


время(720)

Ага, видишь, сообразительный Python разобрался в нашей функции и так и пишет: отсутствует необходимый аргумент: 'скорость'


Впрочем, можно позаботиться об отсутствующих аргументах заранее, задав им значения "по умолчанию", то есть такие, какие берутся для расчета если тот, кто вызвал функцию, вдруг умолчал тот или иной аргумент.



def время(путь=181, скорость=5):
return путь/скорость

Теперь функцию можно вызывать и вообще без аргументов. Всё будет понято правильно:




print(время())
print(время(1000))
print(время(1000,10))

А если мы захотим указать второй аргумент, а первый использовать по умолчанию?

Можно и так:


print(время(скорость=2))

Давай потренируемся.

Напиши самостоятельно функцию avg() с двумя аргументами, которая при помощи return возвращает половину их суммы.

Получилось?