函数定义重申
我们知道,函数的定义可以用:根据输入做特定的处理,将处理结果返回来描述。通过函数,可以让我们的程序结构清晰、复用性好、容易修改。这节课,我们就通过一些函数实例还体会用函数的好处。
函数实例
九九乘法表
在学习循环的时候,我们用用循环实现了一个99乘法表,咱们再来复习一下代码。
a = 0 while a < 9: a = a + 1 b = 0 multi = [] while b < a: b = b + 1 multi.append("%s*%s=%s" % (str(a), str(b), str(a * b))) print(' '.join(multi))
我们这个代码里有一个双层循环,外层循环是用来循环1~9的九行的乘数。内层循环是用来输出每一行的内容。我们尝试用函数来改造这个程序,看代码:
def buildRow(a): b = 0 multi = [] while b < a: b = b + 1 multi.append("%s*%s=%s" % (str(a), str(b), str(a * b))) return " ".join(multi) a = 0 while a < 9: a = a + 1 print(buildRow(a))
相比于未定义函数的代码,我们通过buildRow
函数将每行输出的内容给抽象出来,这样代码的结构会清晰很多。
圆的面积
我们知道,圆形的面积公式是:S=π*r²,咱们用函数来模拟一下怎么求圆形的面积:
def cricleArea(radii): return 3.14 * radii * radii print(cricleArea(2)) print(cricleArea(4)) print(cricleArea(5))
我们将 S=π*r² 定义个函数,这样在计算圆形面积的时候,只需要调用cricleArea即可。这样可以就可以避免重复的代码,后续改代码也会轻松很多
正多边形周长
我们知道,正多边形的周长是边长乘以边数,咱们来用函数模拟求正多边形的过程。
def polygonLength(edgeLength, edgeCount): return edgeLength*edgeCount print(polygonLength(4,4)) print(polygonLength(6,5)) print(polygonLength(3,3))
水状态的化学实验
在学习条件语句的时候我们模拟了水在不同温度下呈现状态的实验。咱们来用函数再来实现一遍
看代码
def getWaterStatus(temperature): if temperature < 0: return "固态" elif temperature >= 0 and temperature <= 100: return "液态" else: return "气态" print(getWaterStatus(-2)) print(getWaterStatus(10)) print(getWaterStatus(120))
怎么样?通过这个例子对函数有没有更形象的认识了呢?