6.3.2 其实并不是函数的函数
数学意义上的函数总是返回根据参数计算得到的结果。在Python中,有些函数什么都不返回。在诸如Pascal等的语言中,这样的函数可能另有其名(如过程),但在Python中,函数就是函数,即使它严格来说并非函数。什么都不返回的函数不包含return语句,或者包含return语句,但没有在return后面指定值。
def test():
print('This is printed')
return
print('This is not')
这里使用return语句只是为了结束函数。
>>> x = test()
This is printed
如你所见,跳过了第二条print语句。(这有点像在循环中使用break,但跳出的是函数。)既然test什么都不返回,那么x指向的是什么呢?下面就来看看:
>>> x
>>>
什么都没有。再仔细地看看。
>>> print(x)
None
这是一个你熟悉的值: None。由此可知,所有的函数都返回值。如果你没有告诉它们该返回什么,将返回None。
警告 不要让这种默认行为带来麻烦。如果你在if之类的语句中返回值,务必确保其他分支也返回值,以免在调用者期望函数返回一个序列时(举个例子),不小心返回了None。
领取专属 10元无门槛券
私享最新 技术干货