Python Понимание разницы между возвратом и печатью - PullRequest
0 голосов
/ 27 апреля 2020

Я работаю над созданием функции, которая возвращает last_name, за которым следуют запятая, пробел, first_name, другой пробел и, наконец, last_name.

Приведенный ниже код дает мне правильный ответ:

def introduction(first_name, last_name):
  return last_name + ", " + first_name + " " + last_name

print(introduction("James", "Bond"))
Bond, James Bond

Однако, если я использую печать, я получаю следующее:

def introduction(first_name, last_name):
  print(last_name + ", " + first_name + " " + last_name)

print(introduction("James", "Bond"))

Bond, James Bond
None
Angelou, Maya Angelou
None

Откуда ничего не приходит при использовании печати вместо возврата? Я оглянулся и не могу сказать, что использовать.

1 Ответ

1 голос
/ 27 апреля 2020

Нет того, что возвращает функция «печать». То есть print отправляет что-то на стандартный вывод, а затем возвращает None. Вы можете проверить это, явно вернув значение и проверив:

x = print('something')
print(x)

Ваш оператор введения возвращает None, следовательно, ваш оператор

Print(introduction('James','Bond'))

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

...