Вопрос-Ответ

Why is this printing 'None' in the output? [duplicate]

Почему это выводит 'None' на выходе?

Я определил функцию следующим образом:

def lyrics():
print "The very first line"
print lyrics()

Однако почему выходные данные возвращают None:

The very first line
None
Переведено автоматически
Ответ 1

Потому что есть два оператора печати. Первый - внутри функции, а второй - вне функции. Когда функция ничего не возвращает, она возвращает неявно None.

Используйте return оператор в конце функции, чтобы вернуть значение.

например:

ВозвратNone.

>>> def test1():
... print "In function."
...
>>> a = test1()
In function.
>>> print a
None
>>>
>>> print test1()
In function.
None
>>>
>>> test1()
In function.
>>>

Используйте оператор return

>>> def test():
... return "ACV"
...
>>> print test()
ACV
>>>
>>> a = test()
>>> print a
ACV
>>>
Ответ 2

Из-за функции double print . Я предлагаю вам использовать return вместо print внутри определения функции.

def lyrics():
return "The very first line"
print(lyrics())

или

def lyrics():
print("The very first line")
lyrics()
python