Вот пример кода внутренней функции def knights(saying): def inner(quote): return "We are the knight who say: '%s'" % quote return inner(saying)
knights('NI!')
"We are the knight who say: 'Ni!'" Мы пишем Ni в saying, а как он попадает в quote? И что значит return inner(saying)? Почему поменялись аргументы? было же inner(quote) И что это значит '%s'" % quote ?
то есть saying=quote? а почему просто не написать def knights(saying): def inner(saying):
а как работает функция если return inner(saying) стоит в конце?
Jurijus Zaksas
Искусственный Интеллект
(425057)
>а почему просто не написать
def knights(saying):
def inner(saying):
Можно и так, название формального параметра может быть любым, его область видимости ограничена его функцией. Только это бы окончательно запутало код в данном случае.
>а как работает функция если return inner(saying) стоит в конце?
В питоне важны отступы, которых тут нет.
Функция def knights(saying):
имеет единственную строку return inner(saying)
Все остальное относится ко внутренней функции.
def knights(saying):
def inner(quote):
return "We are the knight who say: '%s'" % quote
return inner(saying)
knights('NI!')
"We are the knight who say: 'Ni!'"
Мы пишем Ni в saying, а как он попадает в quote? И что значит return inner(saying)? Почему поменялись аргументы? было же inner(quote) И что это значит '%s'" % quote ?