Что выведет этот код?


def greet():
    return "Привет"

print(f"{greet()}, мир!")

Код выведет на экран: Привет, мир!. Функция greet() возвращает строку "Привет", которая затем форматируется в f-строке вместе со строкой ", мир!".

Разбор задачи на собеседовании Python разработчика:

Условие задачи:


def greet():
  return "Привет"

print(f"{greet()}, мир!")
  

Решение и объяснение:

  1. Функция greet() определена для возвращения строки "Привет".
  2. Строка print(f"{greet()}, мир!") использует f-строку для форматирования вывода.
  3. Внутри f-строки {greet()} вызывает функцию greet(), и её возвращаемое значение (то есть, строка "Привет") вставляется в результирующую строку.
  4. Результирующая строка, таким образом, будет "Привет, мир!".
  5. Функция print() выводит эту строку на консоль.

Ожидаемый вывод:

Привет, мир!

Что проверяет задача:

  • Понимание основ Python синтаксиса (определение функций, return).
  • Понимание работы со строками и, в частности, с f-строками (интерполяция строк).
  • Понимание базовых принципов вызова функций.
  • Понимание того, что функция `greet()` возвращает строку, а не что-то иное.

Возможные расширения вопроса на собеседовании:

  • Что такое f-строки и чем они отличаются от других способов форматирования строк (например, .format() или %-форматирование)?
  • Как можно изменить функцию greet(), чтобы она принимала аргумент (например, имя пользователя) и приветствовала его?
  • Как можно обработать ошибку, если функция greet() вдруг вернет не строку? (Пример, с помощью `try...except`).
  • Как можно изменить программу чтобы имя мира подставлялось как переменная.
0