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