十一、☆※1、函数初识、定义、return作用、带参数的函数、函数嵌套调用

一、定义、调用函数(使用关键词def

1、def后面跟着是函数名字(自己定义),再后面是括号(),()里面是函数的参数,没有参数就空着

2、定义函数后,函数并不会自动的执行,程序从上往下执行,到这时候,会在内存中开辟一个空间。

3、如何调用函数?函数名+()进行调用。

二、注意:多个函数的定义调用

1.注意:位置顺序是没有关系的(没有先定义哪个函数后定义哪个函数的说法,调用函数的时候需要根据整个功能的逻辑,来确定需要调用哪个函数)。

2.注意:不能先去调用函数,再去定义函数。

总结(运行原理):函数需要先进行定义,然后,再去使用函数。运行程序时,python解释器遇到def这个关键词以后,就直接将def后面缩进的代码整体扔给内存,而不是一行一行的执

行,直接调用该函数的时候才会去执行这个函数里面的一行行代码。

三、带有参数的函数

(1)

(2)return的作用:

使用return进行改进

问题1:return关键词是必须要出现在定义函数里面吗?

答:不是。

问题2:定义函数里面没有return关键词返回,但非要rr接收,那函数的执行结果是什么呢?(输出None)

问题3:定义函数里没有return,那调用函数的时候会往头到尾执行一遍定义函数吗?

答:通过上图我们得知定义函数从头到尾执行了一遍,只不过就是没有将执行结果进行返回。

问题4:定义函数里面有return关键词,但是此关键词的后面没有任何的代码,只是return?那函数的返回结果是什么?(输出None)

它的作用:结束整个函数,return后面的代码就不执行了。

问题5:return关键词都可以返回什么?

可以写一个变量名(return res),还可以写一个字符串(return "abc"—返回值abc,结果不加" ",结果输出abc,接下来的代码就不执行了),还可以写一个数字("return 10").......,总之:return后面的代码就是返回的内容,如果return后面没有任何代码那返回值就是None跟没有写return关键词的效果一样。

1、

/

2、

四、作用域问题:函数与函数之间是独立的,不能相互进行使用数据的。

在get_wendu_huashi()这个函数里并没有定义wendu,然而,却要使用它进行运算,所以会报错了,有同学会说那在get_wendu()这个函数中进行定义了啊,函数与函数之间是独立的,不能相互进行使用数据的。

解决方法:

只要确保画横线的aa参数一致就行,自己随意定义,也可以定义为wendu

五、函数中的多个return

总结:return的后续代码就不给执行了,也就是结束函数的意思。

六、a=11    b=12      c=13

      return[a,b,c]    返回列表

       return(a,b,c)    返回元组

       return a,b,c    返回结果得到元组(11,22,33)

返回列表:

返回元组:

返回结果元组:

总结:4种函数形式。

七、函数嵌套调用

1、

2、

八、案例:定义个函数,接收键盘上三个数,将这三个参数的和求出来

再来求这三个数的平均数:使用复杂的嵌套联系:

num1,num2 ,num3的值分别给了average_3_nums函数的a1,a2,a3,

 接着执行res=sum_3_nums(a1,a2,a3)调用sum_3_nums函数,把a1,a2,a3,把值给了a,b,c,    接着 return res 返回的res值,谁

调用了就返回给谁,所以把res和的值返回给了  res=sum_3_nums(a1,a2,a3),再求平均数除以3

完整的解释:

猜你喜欢

转载自blog.csdn.net/xk1761299425/article/details/81166950