在Python中,如果函数没有返回语句,返回什么?
给定这个示例函数:
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。所以理论上你可以检查这个函数的返回值来判断它是成功还是失败。我说“理论上”是因为在这个问题中的代码,函数并没有捕捉或处理错误,可能还需要进一步的加强。