Чтобы определить функцию, вам нужно написать def, имя функции, входные
параметры, заключенные в скобки, и, наконец, двоеточие (:). Имена функций под-
чиняются тем же правилам, что и имена переменных (они должны начинаться
с буквы или _ и содержать только буквы, цифры или _).
Давайте действовать пошагово. Сначала определим и вызовем функцию, кото-
рая не имеет параметров. Перед вами пример простейшей функции:
>>> def do_nothing():
... pass
Даже если функции не нужны параметры, вам все равно придется указать кру-
глые скобки и двоеточие в ее определении. Следующую строку необходимо вы-
делить пробелами точно так же, как если бы это был оператор if. Python требует
использовать выражение pass, чтобы показать, что функция ничего не делает. Это
эквивалентно утверждению «Эта страница специально оставлена пустой» (несмо-
тря на то что теперь это не так).
Функцию можно вызвать, просто написав ее имя и скобки. Она сработает так,
как я и обещал, вполне успешно не сделав ничего:
>>> do_nothing()
>>>
Теперь определим и вызовем другую функцию, которая не имеет параметров
и выводит на экран одно слово:
>>> def make_a_sound():
... print('quack')
...
Функции
119
>>> make_a_sound()
quack
Когда вы вызываете функцию make_a_sound(), Python выполняет код, располо-
женный внутри ее описания. В этом случае он выводит одно слово и возвращает
управление основной программе.
Попробуем написать функцию, которая не имеет параметров, но возвращает
значение:
>>> def agree():
... return True
...
Вы можете вызвать эту функцию и проверить возвращаемое ею значение с по-
мощью if:
>>> if agree():
... print('Splendid!')
... else:
... print('That was unexpected.')
...
Splendid!
Только что вы сделали большой шаг. Комбинация функций с проверками вро-
де if и циклами вроде while позволяет вам делать ранее недоступные вещи.
Теперь пришло время поместить что-нибудь в эти скобки. Определим функ-
цию echo(), имеющую один параметр anything. Она использует оператор return,
чтобы отправить значение anything вызывающей стороне дважды, разделив их
пробелом: