函数的初步

函数

编程中的函数与我们在数学中学到的函数几乎一致,甚至比数学中的还要简单。 首先我们来思考这样一个问题,为什么需要函数呢?我们在没学习函数之前不是 照样写了很多程序,而且还写了一个猜数字的小游戏。似乎没有函数不影响编程。

这样思考完全是正确的,几乎所有的程序都可以没有函数。但是对于一个大的程序 只有编写本人知道这个程序,甚至过了一段时间,可能连自己都忘记了。函数不仅 能解决这些问题,还能解决多人协作编程,为什么函数会这么强大呢?

其实函数只是一种思维方式,高考数学中函数的比重多少,就知道函数为什么那么重要 了。函数是什么呢?在数学里本质就是一种对应关系,或者干脆就是映射。输入一个x, 唯一输出一个y值,这就是函数。然而编程中却没有这么严格,只需要有多个变量输入 ,多个变量输出,甚至没有输出也可以。那么函数就实现特定功能的代码块。函数的 英文function 就是功能的意思。编程中习惯将一个函数只实现单一功能,

Python中定义函数

语法非常简单

def function_name(x1, x2, x3):
    statement
    return y

其中defPython定义函数保留关键词,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. 编程求解1+2+3+...+n,其中n就是要输入的参数,返回求和的结果。
  2. 编程实现任意输入三边长度,是否能够构成三角形。
  3. 在应用海伦公式的时候,没有判断输入的三边是否能构成三角形,请完善这个程序,对于 不能构成三角形的需要给出提示。