Что выведет вложенный вызов функции print

Сначала выводится beegeek, затем на новой строке None. Внутренний print возвращает None, который печатает внешний print.

Короткий ответ

Что ответить на собеседовании

Сначала выводится beegeek, затем на новой строке None. Внутренний print возвращает None, который печатает внешний print.

Подробный разбор

Ответ с пояснениями

Условие

В данном фрагменте используется вложенный вызов функции print. Какой результат появится в стандартном выводе? Выберите один из вариантов ответа.

Варианты:

  • beegeek
  • beegeek None
  • beegeek beegeek
  • ошибка
  • print('beegeek')
s = 'python'
print(print('beegeek'))

Ответ

Сначала выводится beegeek, затем на новой строке None. Внутренний print возвращает None, который печатает внешний print.

Аргументы функции вычисляются до её вызова. Поэтому сначала выполняется print('beegeek'): он записывает текст и перевод строки, а результатом его вызова является None.

Внешний вызов фактически превращается в print(None):

beegeek
None

Среди вариантов этому соответствует «beegeek None», если не учитывать форматирование строк. Переменная s='python' здесь никак не используется. Функция print предназначена для побочного эффекта вывода, а не для возвращения напечатанной строки; для сборки строки используют форматирование или конкатенацию.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее