函数的初步
编程中的函数与我们在数学中学到的函数几乎一致,甚至比数学中的还要简单。 首先我们来思考这样一个问题,为什么需要函数呢?我们在没学习函数之前不是 照样写了很多程序,而且还写了一个猜数字的小游戏。似乎没有函数不影响编程。
这样思考完全是正确的,几乎所有的程序都可以没有函数。但是对于一个大的程序 只有编写本人知道这个程序,甚至过了一段时间,可能连自己都忘记了。函数不仅 能解决这些问题,还能解决多人协作编程,为什么函数会这么强大呢?
其实函数只是一种思维方式,高考数学中函数的比重多少,就知道函数为什么那么重要
了。函数是什么呢?在数学里本质就是一种对应关系,或者干脆就是映射。输入一个x,
唯一输出一个y值,这就是函数。然而编程中却没有这么严格,只需要有多个变量输入
,多个变量输出,甚至没有输出也可以。那么函数就实现特定功能的代码块。函数的
英文function
就是功能的意思。编程中习惯将一个函数只实现单一功能,
Python中定义函数
语法非常简单
def function_name(x1, x2, x3):
statement
return y
其中def
为Python
定义函数保留关键词,function_name
表示函数名称,以字母
或者下划线开头,中间不能包含加减乘除等基本运算符,命名规则与变量一致。结尾的:
千万不能
忘记了。x1,x2,x3
就是自变量一般称为输入参数,return
之后的y
就是函数的返回值。
接下来我们编写计算圆面积的函数,这个函数只需要半径一个参数,函数的返回值就是面积。新建 一个程序,保存为area.py
import math
def circle_area(r):
area = math.pi * r ** 2
return area
print("circle are is:", circle_area(3))
# 输出 28.274333882308138
我们再来编程一个计算已知三边的长度,求三角形的面积,这里我们需要海伦公式。
import math
def triangle_area(a, b, c):
s = (a + b + c) / 2
area = math.sqrt(s*(s - a)*(s - b)*(s - c))
return area
print(triangle_area(3, 4, 5))
# 输出 6
小节
本节内容我们讲了函数的定义,以及函数基本使用,通过两个例子来演示了函数的定义和使用。
同时也理解了函数是实现特定功能的代码块,比如函数circle_area
就是计算圆的面积,
triangle_area
就是计算三角形的面积。这两个函数返回值都是计算得到的面积。
思考
- 编程求解1+2+3+...+n,其中n就是要输入的参数,返回求和的结果。
- 编程实现任意输入三边长度,是否能够构成三角形。
- 在应用海伦公式的时候,没有判断输入的三边是否能构成三角形,请完善这个程序,对于 不能构成三角形的需要给出提示。