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

22 投票
4 回答
44399 浏览
提问于 2025-04-17 18:46

给定这个示例函数:

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 个回答

2

如果你在函数的最后加上了return True,那么你可以这样写:a=writeFile(blah, blah)

不过,因为这个函数总是返回True,所以这样做其实没有什么意义。更好的做法是,只有在文件成功写入的时候才返回True,这样更有用。

如果你没有特别指定返回什么,函数默认会返回None

4

如果没有写明确的 return,这个函数总是会返回 None

36

如果一个函数没有指定返回值,它会返回 None

在一个 if/then 条件语句中,None 被认为是 False。所以理论上你可以检查这个函数的返回值来判断它是成功还是失败。我说“理论上”是因为在这个问题中的代码,函数并没有捕捉或处理错误,可能还需要进一步的加强。

撰写回答