Python - 如何让函数实际返回`None`?

时间:2015-05-09 02:45:35

标签: python

输出:

def test(c):
    if c == 4:
       return None
    return 'test'

返回'test'给出我放入的任何内容,例如test(500)但是当我尝试test(4)时,该函数只是跳过并假装我从未运行它,但我希望它显示{{1} }}。所以,

None

会发生什么。我的目标是让>> test(500) 'test' >> test(4) >> 返回,而不必在函数中使用print:

None

帮助!

3 个答案:

答案 0 :(得分:3)

它返回无。没有打印任何内容,因为输出显示的结果是None,这是什么都没有,所以没有显示。

答案 1 :(得分:2)

它正在返回None。如果你想在没有将print放在方法定义中的情况下看到这是真的,你可以这样做:

print test(4)
> None

答案 2 :(得分:1)

None是由“list.sort”或“Python 3 print函数返回任何"”之类的内容返回的结果。如果您在交互式提示符下键入的表达式的计算结果为None,则Python不会自动打印它,因为它认为您可能称之为“#34;不会返回任何内容"功能,如果有像

这样的会话会让人感到困惑
>>> l = [3, 2, 1]
>>> l.sort()
None
>>> print(l)
[1, 2, 3]
None

如果你想打印它,你需要明确print它。