为什么这段代码没有返回

时间:2015-03-23 01:34:05

标签: python-3.x

为什么以下代码返回none:

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

输出:

j>0
None

1 个答案:

答案 0 :(得分: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