目标
- 函数的概念
- 函数的创建与调用
- 函数的作用
[引入] 中学课本中,计算圆柱体积的数学公式为:V圆柱=hπr2。当知道圆柱的半径r和高h时,就可以根据公式计算出圆柱的体积。假设需要计算三个不同大小的圆柱体积:对应的半径r和高h——r1=3,h1=10;r2=4,h2=11;r3=5,h3=12。代码如下↓↓↓↓
import math
r1, r2, r3 = 3, 4, 5
h1, h2, h3 = 10, 11, 12
V1 = h1 * math.pi * r1**2
V2 = h2 * math.pi * r2**2
V3 = h3 * math.pi * r3**2
print(V1)
# 结果:282.7433388230814
print(V2)
# 结果:552.9203070318035
print(V3)
# 结果:942.4777960769379
[引发思考] 不知道大家是否有所注意!上面的代码中我们做了三次求圆柱体积,虽然r1、r2、r3,h1,h2,h3的值各不相同,但是三段代码并没有实质性的区别,属于重复代码
。要想写出高质量的代码,首先要解决的就是重复代码的问题。对于上面的代码来说,可以将计算圆柱体积的功能封装到一个称为函数
的代码块中,在需要计算圆柱体积的地方,我们只需要调用函数
就可以了!哪什么是函数呢?
1、函数的概念
(1)概念:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
(2)作用:函数能提高应用的模块性
,和代码的重复利用率
。
(3)函数主要扮演两个角色:
- 最大化代码重用和最小化代码冗余
- Python的函数是一种简单的打包逻辑算法的方式。可以一处编写多处运行,是 Python 语言最基本的组成工具。
- 过程的分解
- 函数提供一种将一个任务分割为定义完好的不同部分的
工具
。比如制作一份披萨,开始需要混合面粉,将面粉搅拌均匀,添加顶部原料和烘焙等。如果是设定给机器人来完成这件事,函数会将整个做披萨这个任务分割成为独立的方法
来完成整个过程中的子任务。独立实现较小的任务要比一次 完成整个过程容易。 - 一般来说,函数关注过程:关于如何做某事,而不是对哪些对象做这件事。
2、函数的创建与调用
(1)[引入] 数学中的函数通常形如y = f(x)
一元一次函数或者z = g(x, y)
一元二次函数这样的形式----->①在y = f(x)中,f
是函数的名字,x
是函数的自变量,y
是函数的因变量;②而在z = g(x, y)中,g
是函数名,x
和y
是函数的自变量,z
是函数的因变量。Python中的函数跟这个结构是一致的,每个函数都有自己的名字:自变量和因变量。我们通常把Python中函数的自变量
称为函数的参数
,而因变量
称为函数的返回值
。
(2)语法:
def 函数名(参数1,参数2,参数3,……):
代码1
代码2
………………
- ①函数代码块以
def关键字
开头,后接函数名(命名规则与变量的命名规则一致);
如果单词命名时可以采用以下方式:
- 下划线:my_name
- 小驼峰:myName
- 大驼峰:MyName
- ②任何
传入的参数
必须放在圆括号中间,圆括号之间可以用于定义参数。 - ③函数的第一句可以选择性地使用
注释
说明此函数的作用; - ④函数内容以
冒号
起始,并且缩进
; - ⑤return[表达式]结束函数,选择性地返回一个值给调用放。不带return语句相当于返回None值。
(3)调用函数
函数名(参数)
- 注意:
- 不同的需求,参数可有可无。
- 在Python中,函数必须
先定义后使用
(4)实操函数的创建与调用
- [简单示例]
# 定义名为my_function函数,传入两个参数,并将参数打印出来。
def my_function(a, b):
print(a, b)
# 调用函数,并传入参数
my_function(11,22)
# 结果
11 22
- 使用函数解决上述圆柱体积的问题
# 定义函数:def是定义函数的关键词,fac是函数,r是参数(自变量)。
from math import pi
def Volume(r, h):
"""求圆柱的体积"""
V = h * pi * r**2
# 返回圆柱的体积(因变量)
return V
# 当需要计算圆柱体积时,不用重复写代码,仅仅直接调用函数Volume()即可
print(Volume(3, 10))
# 结果
282.7433388230814