函数介绍
<1>什么是函数
小总结:
· 如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数
函数定义和调用
<1>定义函数
定义函数的格式如下:
def函数名():
代码
<2>调用函数
调用函数很简单的,通过函数名()即可完成调用
函数参数(初步)
<1>定义带有参数的函数
<2>调用带有参数的函数
以调用上面的add2num(a, b)函数为例:
函数返回值
<1>带有返回值的函数
想要在函数中把结果返回给调用者,需要在函数中使用return
如下示例:
<2>保存函数的返回值
4种函数的类型
<1>无参数,无返回值的函数
此类函数,不能接收参数,也没有返回值,一般情况下,打印提示灯类似的功能,使用这类的函数
<2>无参数,有返回值的函数
此类函数,不能接收参数,但是可以返回某个数据,一般情况下,像采集数据,用此类函数
<3>有参数,无返回值的函数
此类函数,能接收参数,但不可以返回数据,一般情况下,对某些变量设置数据而不需结果时,用此类函数
<4>有参数,有返回值的函数
函数参数(高级)
1.缺省参数
调用函数时,缺省参数的值如果没有传入,则被认为是默认值。下例会打印默认的age,如果age没有被传入:
2.不定长参数
有时可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,声明时不会命名。
基本语法如下:
函数的嵌套调用
·如果函数A中,调用了另外一个函数B,那么先把函数B中的任务都执行完毕之后才会回到上次函数A执行的位置
局部变量
<1>什么是局部变量
如下图所示:
<2>小总结
·局部变量,就是在函数内部定义的变量
·不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响
·局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用
全局变量
<1>什么是全局变量
如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是全局变量
#定义全局变量
<2>修改全局变量
既然全局变量,就是能够在所以的函数中进行使用,那么可否进行修改呢?
<3>小总结:
·在函数外边定义的变量叫做全局变量
·全局变量能够在所以的函数中进行访问
·如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错
递归函数
<1>什么是递归函数
通过前面的学习知道一个函数可以调用其他函数。
如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数。
<2>递归函数的作用
举个例子,我们来计算阶乘n! = 1 * 2 * 3 * ... * n
匿名函数
用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。
lambda函数的语法只包含一个语句,如下:
以上实例输出结果:
Value of total :30
Value of total :40
Lambda函数能接收任何数量的参数但只能返回一个表达式的值
匿名函数不能直接调用print,因为lambda需要一个表达式