Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

как работают внутренние функции?

Олланд Ученик (70), закрыт 4 года назад
Вот пример кода внутренней функции
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 ?
Лучший ответ
Jurijus Zaksas Искусственный Интеллект (425057) 4 года назад
>Мы пишем Ni в saying, а как он попадает в quote?

Вот так:

return inner(saying)
ОлландУченик (70) 4 года назад
то есть 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) Все остальное относится ко внутренней функции.
Остальные ответы
Black Afgano Просветленный (22282) 4 года назад
"И что это значит '%s'" % quote"
это один из вариантов форматирования строк — в шаблон-строку передается строковая переменная quote
ОлландУченик (70) 4 года назад
сложна, слооооожнааааа
можно чуть подробнее?
Black Afgano Просветленный (22282) pythonworld.ru/osnovy/formatirovanie-strok-metod-format.html
Похожие вопросы