Среда разработки, основы языка и типы данных



бет33/41
Дата27.10.2023
өлшемі331,81 Kb.
#188518
түріПрограмма
1   ...   29   30   31   32   33   34   35   36   ...   41
Байланысты:
Лекция

Вызов функции


Рассмотрим полную версию программы с функцией:
def countFood():
a = int(input())
b = int(input())
print("Всего", a+b, "шт.")
print("Сколько бананов и ананасов для обезьян?")
countFood()
print("Сколько жуков и червей для ежей?")
countFood()
print("Сколько рыб и моллюсков для выдр?")
countFood()
После вывода на экран каждого информационного сообщения осуществляется вызов функции, который выглядит просто как упоминание ее имени со скобками. Поскольку в функцию мы ничего не передаем скобки опять же пустые. В приведенном коде функция вызывается три раза.
Когда функция вызывается, поток выполнения программы переходит к ее определению и начинает исполнять ее тело. После того, как тело функции исполнено, поток выполнения возвращается в основной код в то место, где функция вызывалась. Далее исполняется следующее за вызовом выражение.
В языке Python определение функции должно предшествовать ее вызовам. Это связано с тем, что интерпретатор читает код строка за строкой и о том, что находится ниже по течению, ему еще неизвестно. Поэтому если вызов функции предшествует ее определению, то возникает ошибка (выбрасывается исключение NameError):
print("Сколько бананов и ананасов для обезьян?")
countFood()
print("Сколько жуков и червей для ежей?")
countFood()
print("Сколько рыб и моллюсков для выдр?")
countFood()
def countFood():
a = int(input())
b = int(input())
print("Всего", a+b, "шт.")
Результат:
Сколько бананов и ананасов для обезьян?
Traceback (most recent call last):
File "test.py", line 2, in <module>
countFood()
NameError: name 'countFood' is not defined
Для многих компилируемых языков это не обязательное условие. Там можно определять и вызывать функцию в произвольных местах программы. Однако для удобочитаемости кода программисты даже в этом случае предпочитают соблюдать определенные правила.


Достарыңызбен бөлісу:
1   ...   29   30   31   32   33   34   35   36   ...   41




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет