1.函数定义
在Python中用户可以定义一个自己想要实现某种功能的函数,自定义函数的一般形式为:
函数定义时要注意:
(1)使用关键字def进行函数的定义,行尾加冒号,函数体必须缩进;
(2)函数名的命名规则和变量的命名规则一样,即只能是由字母、数字和下划线组成,不能以数字开关,并且不能跟关键字重名;
(3)函数的参数必须放在圆括号中,可以是零个、一个或者多个,各个参数之间用逗号分隔;
(4)return语句是可选的,它可以在函数体内任何地方出现,表示函数调用执行到此结束。如果没有return语句,会自动返回None;如果有return语句,但是return后面没有表达式也返回None。
【例5-1】定义函数,求两个数的最大值。
程序如下:
2.函数调用
程序通过函数调用来进行函数的控制转移和相互间数据的传递,并对被调函数进行展开执行,Python要求函数先定义、再调用,函数调用的一般形式为:
函数调用时传递的参数是实参,实参可以是变量、常量或表达式。当实参个数超过一个时,用逗号分隔。对于无参函数,调用时实参表列为空,但括号()不能省略。
【例5-2】编写一个求阶乘值的函数,求输入数的阶乘。
分析:以编写阶乘函数为例,说明函数的调用过程。
程序如下:
如图5-1~图5-7所示为该程序运行、函数调用的过程,浅色箭头代表刚执行过的语句,深色箭头代表即将执行的语句。
(1)开始运行,从程序的第一行代码开始(见图5-1)。(www.xing528.com)
图5-1 开始运行程序
(2)执行第一行,遇到定义的函数f时(需要注意,函数f代码块中的语句并不是立即就执行的,而是等到函数被程序调用时才会执行),先跳过函数体,执行第7行的主程序(见图5-2)。
图5-2 执行主程序
(3)输入n=5后,将主调函数的实参传递给对应的形参(见图5-3)。
图5-3 调用函数
(4)执行被调用函数,为函数体内的变量分配内存单元,执行函数体内语句(见图5-4)。
图5-4 执行函数f
(5)执行函数体内语句(见图5-5)。
图5-5 执行函数体内语句
(6)在函数f体内遇到return语句时,返回主调函数并带回返回值,释放形参及被调用函数中各变量所占用的内存单元。若程序中无return语句,则执行完被调用函数后回到主调函数(见图5-6)。
图5-6 返回主程序
(7)返回到主调函数继续执行后续语句,直到程序结束(见图5-7)。
图5-7 继续执行主程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。