Функции представляют блок кода, который выполняет определенную задачу и который можно повторно использовать в других частях программы. В предыдущих статьях уже использовались функции. В частности, функция 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()
Консольный вывод: