2015-03-23 2 views
1

почему следующий код возвращает None:Почему делает этот код возврата ни

j = 22 
def test(j): 
    if j > 0: 
     print('j>0') 
    else: 
     print('j<0') 

Выход:

j>0 
None 
+0

И как вы получаете этот вывод? Любая функция будет 'возвращать None', если никакое другое значение не возвращается –

+0

Я просто получаю дополнительный None ниже ожидаемого результата. – lel

ответ

1

функция в Python всегда имеет возвращаемое значение, даже если вы не использовать return, по умолчанию None

Поскольку функция test не возвращает значение, оно возвращает объект None. вот почему это закончилось печать None Поскольку вы не имеете возвращаемое значение указано

вы можете not use print в вашей функции, но возвращает строку вместо

def test(j): 
    if j > 0: 
     return 'j>0' 
    else: 
     return 'j<0' 

затем вызвать его так: распечатать его при вызове функция

print(test(22)) 

see answer's here for more detail