在python中,如果函数没有return语句,它返回什么?

时间:2013-03-12 06:52:50

标签: python python-3.x

给出这个示例函数:

def writeFile(listLine,fileName):
    '''put a list of str-line into a file named fileName'''
    with open(fileName,'a',encoding = 'utf-8') as f:
        for line in listLine:
            f.writelines(line+'\r\n')
    return True

这个return True语句是否有用呢?

它与它之间有什么区别?如果没有返回功能会发生什么?

4 个答案:

答案 0 :(得分:25)

如果函数未指定返回值,则返回None

在if / then条件语句中,None的计算结果为False。所以理论上你可以检查这个函数的返回值是否成功/失败。我说“理论上”因为对于这个问题中的代码,函数不会捕获或处理异常,并且可能需要额外的强化。

答案 1 :(得分:2)

如果未写入显式None,则函数始终返回return

答案 2 :(得分:0)

如果您在函数末尾有return True,则可以说:a=writeFile(blah, blah)

但是,因为它总是True,所以完全没有意义。如果文件写得正确等,最好返回True。

如果您没有明确返回任何内容,则值为None

答案 3 :(得分:0)

在没有归因或检查功能的情况下自己拥有return语句没有多大意义。

如果没有返回任何内容,Python将返回None。在您的情况下,如果打开文件和写入成功,您应该返回true