我们一起来聊聊python函数返回值的特殊情况,之前我也碰到过类似方面的问题,到后来查阅了一些资料后,发现原来是这样。
首先,写函数的时候,一定要写函数的文档,这样方便我们识别函数是做什么的。我记得很久以前和大家聊过python列表操作方法,python列表非常的强大,提供了很多内置的方法使得你可以通过python的列表结构和操作做很多你想要的事情,我记得它里面有一些方法,比如append,还有sort方法,这几个方法应该在你的程序里时不时会出现吧,可见频率之高!我当时开始学习的话,用这2个列表方法的话,我是按照下面的方式来用的:
a = [1,5,11,2] x = a.append('b')
y = a.sort()
我当时学python的时候也许是受其它语言的影响,认为只要是函数的话,就有返回值,应该就可以返回一些想要的结果,其实你自己在编辑器里运行 上面的方法的话,输出的结果不会是你想要的,而是一片空白!呵呵。原因在哪呢?
原来python的有些内置方法是不返回具体的内容的,而是返回一个None。
这个就是今天我想说的一个话题,return在python函数里面是可选的,当一个函数无法准确的返回值时,函数就会运行到最后然后退出,也就是说所有的函数都有返回值,如果你不提供返回值的话,函数默认返回一个None。
append,sort等方法应该就属于这个情况,所以大家以后碰到函数返回值输出空白的话,那就要想想是不是返回None,而只是你原来的变量被原地的改变了。