Как и любой другой язык программирования высокого уровня, Python позволяет определять собственные функции, а не только использовать стандартные или библиотечные.
Для определения новой функции необходимо указать её имя и последовательность инструкций, которые выполняются при ее вызове. Пример:
Слово def - ключевое. Оно указывает на то, что дальше будет определение функции. Затем следует имя функции (в нашем примере это hello).
Функция может принимать параметры, которые перечисляются в круглых скобках после имени функции. В нашем примере никаких параметров у функции нет.
Первая строка в определении функции называется заголовком функции. В конце заголовка ставится двоеточие. После этого начинается тело функции - её исходный код.
Исходный код функции в Python выделяется отступами (это то, что я ненавижу в Python больше всего))). Если вы определяете функцию в интерактивном режиме в стандартной IDLE (и некоторых других редакторах) и не забыли поставить двоеточие, то отступы будут добавлены автоматически. Чтобы завершить определение функции в IDLE надо два раза нажать ENTER, после чего вы увидите стандартное приглашение (>>>) продолжить ввод кода в интерпретатор.
Определение функции создаёт объект функции (function object), который имеет тип function:
После того, как вы определили функцию, вы можете использовать её в своей программе (в том числе и в других ваших функциях). Как уже было сказано, при определении функции создаётся объект функции, однако инструкции функции не выполняются. Они будут выполнены только при вызове функции.
Ну и да - вызов функции должен выполняться в исходном коде ПОСЛЕ определения функции. Поскольку интерпретатор выполняет команды последовательно сверху вниз, то он должен увидеть определение функции раньше, чем встретит вызов этой функции.
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.