15 初见函数
函数是可以反复用的代码片断
大纲
什么是函数
练习:鸡兔同笼
练习:找到质数
练习:最大公约数
什么是函数
有些问题的程序太长或太复杂,写起来会比较困难,如果我们将一个复杂的问题分解成多个较小的问题,就会比较容易解决一些。这些处理较小问题的代码块就叫做函数,它也可以用于其它场景的重复使用。
在第3小节里面,我们编写了计算圆面积的代码,这几行代码对于我们计算面积很有用处,如果我们想反复利用这段代码的话,可以将它打个包,变成一个函数,听起来很复杂,其实很简单。
这个函数在使用起来和print、type那些命令一样,首先是写之前定义好的函数名字,再是括号和输入,函数在处理后就会输出面积。写函数的好处就是可以反复利用某一段代码。
关于写函数我们要注意几个地方
定义函数需要用到def这个三个字母特定的关键词作为开头,表示后面的代码是在写一个函数
def后面跟着函数名,函数名是自己定义的,上例中就是circle_area
函数名后面跟一个括号,括号里是输入的变量,也就是未来在使用这个函数时的输入内容,这里的输入是半径
然后后面跟一个分号,表示函数具体的代码会在下一行开始了
分号后面具体的代码需要有一个缩进,就类似于中文写作文起一个段落一样,这种缩进一般是四个空格
最后的输出结果需要用return来特别指出
下面我们再来写一个函数,计算一个圆柱体的表面积,回忆一下圆柱体的表面积是由底面积和侧面积两部分构成,具体公式是:
上例中,先定义了函数名字,因为圆柱体的表面积由半径r和高h两个值决定,所以这里要有两个输入的变量,或者说两个输入参数,两个变量用逗号隔开。然后在第二行开始分别底面积和侧面积,area_a计算了底面积,这里底面积是一个圆,直接利用了circle_area这个我们已经写好的函数,然后area_b计算了侧面积,之后再求和,最后输出。当r为1.5,h为4的时候,我们计算出这个圆柱体的表面积是39.25
小结:函数可以让我们反复利用某一段代码,函数的特点是有输入,有计算处理,有输出,之前我们学到的print、type等其实也是函数。python还内置了很多有用的函数,如果不够的话,大家可以自己写一些函数,就像是算圆面积那样就可以了。
练习:鸡兔同笼
鸡兔同笼问题:已知鸡和兔的总数量为n,它们一起的腿的总数量为m,编写一个函数,以求出鸡有多少只,兔有多少只?
设鸡有x只,兔有y只,根据关系公式:
联立解可得:
从功能上来看,这个函数已经完成了,不过输出显示看起来不是很人性化,我们利用前面学到的东西把输出修改一下。
或者使用字符串格式化来做输出的修改
练习:找到质数
我们在第9课的时候,学习过如何来找到质数
下面我们把它改造一下,将核心代码转换成一个函数。
函数可以用在很多场合,例如在列表解析中。
练习:数字判断
写一个函数,输入是n,返回在n以内所有可以被3或5整除的数字之和。
练习:最大公约数
函数可以有多个输入参数,让我们把之前学到的最大公约数的方法来写成一个函数。
Last updated
Was this helpful?