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

Формальное определение функции:

def имя_функции ([параметры]):
    инструкции

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

Например, определение простейшей функции:

def say_hello():
    print("Hello")

Функция называется say_hello. Она не имеет параметров и содержит одну единственную инструкцию, которая выводит на консоль строку "Hello". Обратите внимание, что инструкции функции должны иметь отступы от начала функции. Например:

def say_hello():
    print("Hello")
 
 
print("Bye")

Здесь инструкция print("Bye") не имеет отступов от начала функции say_hello и поэтому в эту функцию не входит. Обычно между определением функции и остальными инструкциями, которые не входят в функцию, располагаются две пустых строки.Для вызова функции указывается имя функции, после которого в скобках идет передача значений для всех ее параметров:

имя_функции ([параметры])

Например, определим и вызовем функцию:

def say_hello():    # определение функции say_hello
    print("Hello")
 
 
say_hello()         # вызов функции say_hello
say_hello()
say_hello()

Здесь три раза подряд вызывается функция say_hello. В итоге мы получим следующий консольный вывод:

Hello Hello Hello

Обратите внимание, что функция сначала определяется, а потом вызывается.

Если функция имеет одну инструкцию, то ее можно разместить на одной строке с остальным определением функции:

def say_hello(): print("Hello")
 
say_hello()

Подобным образом можно определять и вызывать и другие функции. Например, определим и выполним несколько функций:

def say_hello():
    print("Hello")
 
 
def say_goodbye():
    print("Good Bye")
 
 
say_hello()
say_goodbye()

Консольный вывод: