安迪Python

V1

2022/12/23阅读:16主题:默认主题

54. Python def语句自定义函数

54.def语句自定义函数

1.课题导入—数学中的函数

1.1 计算圆的面积

圆的计算公式:π*r**2

r**2表示r的平方。

print(5**2)

【终端输出】

25

r**3表示r的3次方。

print(5**3)

【终端输出】

125

【体验代码】

# 圆的半径为3
r = 3
# 输出圆的面积
print(3.14*r**2)

【终端输出】

28.26

1.2 计算不规则图形的面积

54-1-
54-1-

【目标任务】

上图中大圆的半径为5,小圆的半径为2,计算黄色部分的面积。

【思路解析】

圆的面积计算有现成的函数:π*r**2

上图黄色部分是不规则图形,计算该部分的面积,没有现成的函数。

我们可以自定义一个函数计算黄色部分的面积:

自定义一个函数:黄色部分的面积=大圆的面积-小圆的面积

【体验代码】

# 大圆的半径为5
R = 5 
# 小圆的半径为2
r = 2

π = 3.14

# 自定义一个函数计算黄色部分的面积
s = π*R**2 - π*r**2
# 输出黄色部分的面积
print(s)

【终端输出】

65.94

【代码解析】

s = π*R**2 - π*r**2是我自定义的函数用于计算黄色部分的面积。

s 是函数名。

R r 是函数的参数。

数学中有现成的函数可以使用,也可以根据需求自己定义函数。

python和数学一样,有现成的函数可以使用,即Python的内置函数。

同理,也可以根据需求自己定义一个函数。

2. 什么是函数

【官方定义】

函数是将一段具有独立功能的代码块整合到一个整体并命名,在需要的位置调用这个名称即可完成对应的需求。

【个人定义】

函数是指编写好的,能完成特定功能且可以重复调用的代码段。

3. 函数分类

Python中,函数有内置函数和自定义函数2种。

3.1 内置函数

内置函数是指像print、input、type等安装Python后就能直接使用的函数。

【print输出函数】

print(123)

【终端输出】

123

【type查看数据类型函数】

print(type(123))

【终端输出】

<class 'int'>

3.2 自定义函数

自定义函数是指:根据自己的实际需求自己编写一个函数。

4. 计算多个矩形的面积

【目标任务】

有5个矩形,长和宽分别为(8,4),(8,5),(8,6),(8,7),(8,8)。

编写代码输出这5个矩形的面积。

【第1个矩形】

x = 8 
y = 4
print(x*y)

【终端输出】

32

x存储的是矩形的长。

y存储的是矩形的宽。

矩形的面积=长*宽

【第2个矩形】

x = 8
y = 5
print(x*y)

【终端输出】

40

【第3个矩形】

x = 8 
y = 6
print(x*y)

【终端输出】

48

后2个矩形的面积计算代码省略。

我们发现上述的代码除了变量的值不一样,代码基本是相似的。

计算5个矩形的面积,我们要写5次类似的代码。

且我们要重新赋值5次。

这样的代码相当冗余。

如果我们用自定义函数只需要写一次就能解决这个问题,且代码更为简洁。

5. 自定义函数计算矩形的面积

【体验代码】

# def 自定义函数的关键字
# 这里要计算的是矩形面积,我将函数名命名为s
# l, w为自定义函数的形式参数
# def 语句以英文冒号结尾
def s (l, w) :
    # 函数体,即函数要实现的功能
    # 注意函数体前有4个空格的缩进
    # 这里的函数要实现的是计算面积功能
    # l表示长,w表示宽
    # 矩形面积= 长*宽
    s = (l*w)
    # 输出圆的面积
    print(s)
# 调用函数语法:函数名(参数)
# 这里的8,4 叫做实际参数,简称实参
# 8对应l,4对应w
s(8,4)

【终端输出】

32

length [leŋθ]:长度。

width [wɪdθ]:宽度。

【输出5个矩形的面积:长和宽分别为(8,4),(8,5),(8,6),(8,7),(8,8)】

# 自定义函数
def s (l, w) :    
    # 函数体
    s = (l*w)
    print(s)
# 调用函数
s(8,4)
s(8,5)
s(8,6)
s(8,7)
s(8,8)

【终端输出】

32
40
48
56
64

自定义函数的作用就是将需要执行的代码打包,进行封装,需要的时候直接调用即可。

这里封装的是计算矩形面积的代码。

6.自定义函数的写法

1.先写函数要实现的功能

我们自定义一个函数,要实现的功能是输出面积。

# 定义长和宽
l = 8
w = 4
# 矩形面积计算公式
s = l*w
# 输出面积
print(s)

【终端输出】

32

2.添加自定义函数语句

def s(l,w):
  1. def是自定义函数关键字。

  2. s是我定义的函数名,这里表示面积,大家根据自己的喜欢命名。

  3. l,w是函数s的参数,这里的参数只是一个符号,没有具体的数值,我们称之为形式参数,简称形参。

  4. def语句以英文冒号:结尾,且英文冒号后面有4个空格的缩进。

【第一次合并代码】

def s(l,w):
    # 矩形面积计算公式
    s = l*w
    # 输出面积
    print(s)

3.调用函数

s(8,4)

s是函数名。

84是要计算矩形的长和宽,是可以参与计算的具体数值,我们称之为实际参数,简称为实参。

【合并代码】

def s(l,w):
    # 矩形面积计算公式
    s = l*w
    # 输出面积
    print(s)
s(8,4)

【终端输出】

32

s(8,4)中的8和4可以替换成任何数值。

自定义函数的作用就是指我写了一个计算矩形面积的函数,我先把它封装起来:

下面的就是我要封装的部分:

def s(l,w):
   s = l*w
   print(s)

封装好了后,我需要的时候我直接传入参数即可调用函数。

s(8,4)

这里的8和4可以根据题目需要进行替换。

7. 自定义函数的语法

54-2
54-2

def语句自定义函数由6部分组成:

①关键字 def

define[dɪˈfaɪn]:定义。

def 是 define 的缩写,def为定义函数的固定格式。

②是函数名。

函数名和变量名一样,也是自己命名的。

③是形式参数。

④英文冒号:

⑤是四个空格的缩进。

⑥是函数体。函数体就是我们要实现的功能。

⑦return后接返回值。如果没有要返回的值,return可以省略。

54-3
54-3

【形象理解自定义函数】

54-4
54-4

我们可以把函数理解成一个破壁机。

破壁机的功能有炸果汁、煮粥、煮豆浆等等。

在使用破壁机的时候,我们并不需要去研究破壁机的发动机工作的原理。

我们需要研究的是如何操作破壁机。

破壁机就是一个将炸果汁、煮粥、煮豆浆等多个功能进行封装的函数。

【参数=食材】

参数等同于破壁机中加入的食材。

加橙子就榨橙汁。

加黄豆就煮豆浆。

【函数体=功能模式】

函数体就是破壁机的功能。

破壁机有果汁模式、豆浆模式、米糊模式等等,我们需要用什么功能就按对应的键即可。

破壁机的每一种模式就等同于函数体中的一段代码。

我写了3段代码,一段可以实现果汁模式、一段可以实现豆浆模式,一段可以实现米糊模式。

写好后我将3段代码打包封装好,你使用的时候需要果汁你就调用果汁模式,需要豆浆你就调用豆浆模式。

【return+变量名=成品】

return将函数的计算结果返回到调用处。

return后通常接一个变量名。

破壁机最终的成品是橙汁、豆浆。

变量等同于接收果汁、豆浆的杯子。

return+变量名就将榨好的果汁放到杯子里返回给使用者。

如果函数没有返回值,return可以省略不写。

没有返回值的意思是程序执行完毕之后,不需要给调用函数处提供数据。

【函数调用=模式选择】

函数调用要带着参数一起走。

就相当于选择豆浆模式后要在破壁机里加入黄豆。

8.缩进语法汇总

截止目前我们共学了4个需要英文冒号和4个空格缩进的语法:

  1. if 条件判断语句
50-2if语句语法
50-2if语句语法
  1. for 循环语句
50-3for循环语句语法
50-3for循环语句语法
  1. while循环语句
50-4while循环语法
50-4while循环语法
  1. 自定义函数
54-3
54-3

分类:

后端

标签:

Python

作者介绍

安迪Python
V1