Функции
@ProgHelpBotФункции
Представляют блок кода, который выполняет определенную задачу и который можно повторно использовать в других частях программы.
def [имя функции]([параметры]): [инструкции]
Определение функции начинается с выражения def, которое состоит из имени функции, набора скобок с параметрами и двоеточия. Параметры в скобках необязательны. А со следующей строки идет блок инструкций, которые выполняет функция. Все инструкции функции имеют отступы от начала строки.
def say_hello():
print("Hello")
Для вызова функции указывается имя функции, после которого в скобках идет передача значений для всех ее параметров.
[имя функции]([параметры])
Пример:
def say_hello():
print("Hello")
say_hello()
say_hello()
say_hello()
Результат:
Hello Hello Hello
Функция сначала определяется, а потом вызывается. Если функция имеет одну инструкцию, то ее можно разместить на одной строке с остальным определением функции.
def say_hello(): print("Hello")
say_hello()
Результат:
Hello
Локальные функции
Одни функции могут определяться внутри других функций - внутренние функции еще называют локальными. Локальные функции можно использовать только внутри той функции, в которой они определены.
def print_text():
def say_hello(): print("Hello")
def say_bye(): print("Bye")
say_hello()
say_bye()
print_text()
# Функции say_hello() и say_bye() недоступны вне функции print_text()
Результат:
Hello Bye
Организация программы и функция main
В программе может быть определено множество функций. И чтобы всех их упорядочить, одним из способов их организации является добавление специальной функции (обычно называется main), в которой потом уже вызываются другие функции.
def main():
say_hello()
say_bye()
def say_hello():
print("Hello")
def say_bye():
print("Bye")
main()
Результат:
Hello Bye