新手在写函数时往往记得发回他们想要的结果,而其他情况不做要求,譬如:
下面一段代码当参数a的值大于零时交换a,b的值
def swap(param_a, param_b) :
'''
:param param_a:
:param param_b:
:return:
'''
if param_a > 0 :
param_a,param_b = param_b,param_a
return param_a,param_b
# end
swap(1,2) 返回值为(2, 1),但是swap(-1,3)返回值是多少?bingo,python函数如果没有显式返回时会默认返回None
Afanty的讲解:
1、首先理解是函数就必定有返回值,至于返回值是什么具体而言(总之必有返回值)
2、显式返回就是指定的类型,当不指定返回类型时 =》python自动返回None(特殊的返回值)
3、当函数返回多个值(对象)时,会自动返回容器类对象(观察上面的例子返回的就是tuple)
(好比如说,你去超市买了一大堆东西,要一件一件带走多麻烦呀,但是你可以用个合适的袋子把它们打包起来,这样就方便多咯)