跳转至

函数初步

介绍

我们在中学学过函数y = f(x)。程序中的函数没有非常严格的定义,但是保留了函数基本形式。function的本意就是功能的意思,可以简单的理解为实现某个功能代码块。只不过这个代码块进行了封装处理。

y = f(x)

其中x称为输入参数,y称为返回参数。函数的定义使用关键词def。下面是计算圆的面积的函数。

def compute_circle_area(r):
    s = 3.14 * r ** 2
    return s

其中r就是圆的半径,称为输入参数,s是圆的面积,作为返回值。这个函数的功能f就是计算圆的面积.是不是发现很简单。

作业

根据三角形的三边长,a,b,c计算三角形的面积,使用海伦公式。请写出函数的计算程序。

输入参数

无输入参数

在数学中函数需要变量,就是输入参数。那么在程序中一定需要输入参数吗?答案是非必须的。函数可以没有输入参数,仅仅完成某一功能。比如获取1-10之间随机数。

补充

随机数需要用到random模块,模块的导入使用import

import random

def get_random_number():
    """获取1-10之间的随机数"""
    num = random.randint(1, 10)
    return num
# 9
我们发现每次每次运行这个函数,会随机地返回1-10之间的整数。我们可以把这个函数改造成给一个输入参数(大于1),要求返回不超过输入参数的随机整数。

import random

def get_random_number(up_num):
    """获取1-up_num之间的随机数"""
    num = random.randint(1, up_num)
    return num

思考

如果up_num小于1会怎么样,读者自行尝试

多个输入参数

输入参数可以没有,可以传一个,如果有多个输入参数怎么办呢?比如说我们现在碰到这样的问题:

输入三条线段的长度,判断这三条线段能否构成三角形。

输入的参数有三条边,输出结果可以自定义了。比如我们让函数输出0和1,0表示不能,1表示可以。我们也可以输出布尔值,True表示可以,False表示不可以。甚至可以输出字符串"可以"和"不可以"。

输出结果完全有你来控制,这里我们选择布尔值的输出。

  • 先写函数的输入参数,定义输出结果res默认为False。
def form_triangle(a, b, c):
    res = False
  • 判断三边能不能构成三角形。由于两边之差可能是负数,为了简单,引入绝对值函数。
import math

def form_triangle(a, b, c):
    res = False
    if (math.fabs(a - b) < c) and (a + b > c):
        res = True
    return res

如果不满足if条件,那就意味着不能构成三角形,返回默认的res结果。如果满足if条件,则res被赋值为True,最终返回res。

总结

本节内容讲解了Python中函数的基本使用,包括函数的定义,输入与输出,重点讲解了函数输入参数,可以无输出参数,也可以有多个输入参数。学习过函数以后,读者以后写程序尽量使用函数来完成。后续继续介绍函数的使用。

评论