Python中return的作用有两个,第一个是终止循环程序,第二个是返回结果值。在一个函数里return只会执行先出现的return语句,后面的return不发挥作用。如果函数里没有return,即没有返回值,在打印函数的时候只会返回None。
def shiyan1(a): return a return a*2 def shiyan2(a): print('下面是shiyan2',a) print(a*2) print(shiyan1(1)) print(shiyan2(1)) *****结果如下***** 1 下面是shiyan2 1 2 Nonereturn主要体现在递归函数里,如果没有return,递归函数在递归时只会返回None。
def shiyan3(a): if a==0: print(a) return a if a >0: a -= 1 shiyan3(a) def shiyan4(a): if a <= 0: print(a) return a if a > 0 : a -= 1 return shiyan4(a) print('shiyan3递归结果: ',shiyan3(2)) print('shiyan3没递归结果: ',shiyan3(0)) print('shiyan4递归结果: ',shiyan4(2)) print('shiyan4没递归结果: ',shiyan4(0)) ****结果如下**** 0 shiyan3递归结果: None 0 shiyan3没递归结果: 0 0 shiyan4递归结果: 0 0 shiyan4没递归结果: 0shiyan3里,没有使用return,如果进入了递归,虽然执行了函数,但是每次都没有返回值,shiyan4里,在每次递归的时候都会返回函数的结果值。