54.def语句自定义函数

文章目录

  • 54.def语句自定义函数
    • 1.课题导入—数学中的函数
      • 1.1 计算圆的面积
      • 1.2 计算不规则图形的面积
    • 2. 什么是函数
    • 3. 函数分类
      • 3.1 内置函数
      • 3.2 自定义函数
    • 4. 计算多个矩形的面积
    • 5. 自定义函数计算矩形的面积
    • 6.自定义函数的写法
      • 1.先写函数要实现的功能
      • 2.添加自定义函数语句
      • 3.调用函数
    • 7. 自定义函数的语法
    • 8.缩进语法汇总

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 计算不规则图形的面积

【目标任务】

上图中大圆的半径为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. 自定义函数的语法

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

①关键字 def

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

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

②是函数名。

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

③是形式参数。

④英文冒号:

⑤是四个空格的缩进。

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

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

【形象理解自定义函数】

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

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

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

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

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

【参数=食材】

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

加橙子就榨橙汁。

加黄豆就煮豆浆。

【函数体=功能模式】

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

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

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

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

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

【return+变量名=成品】

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

return后通常接一个变量名。

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

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

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

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

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

【函数调用=模式选择】

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

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

8.缩进语法汇总

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

  1. if 条件判断语句

  1. for 循环语句

  1. while循环语句

  1. 自定义函数

54.Python的def语句自定义函数相关推荐

  1. python的def语句_【零基础学Python】def语句,参数和None值

    像之前的print().input()和len()功能,Python提供了一些类似的内置函数,另外也可以自己编写自定义函数. 示例: def hello(): print('Howdy!') prin ...

  2. python没有return语句的函数将返回_为什么Python没有return返回值

    为什么Python没有return返回值 发布时间:2020-08-24 17:12:18 来源:亿速云 阅读:118 今天就跟大家聊聊有关为什么Python没有return返回值,可能很多人都不太了 ...

  3. python学习笔记之自定义函数

    live long and prosper 自定义函数 def greet_user():"""现实简单的问候语"""print(" ...

  4. python中def fun 定义函数列表_Python学习之 函数篇

    Python函数 函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字. 可以通过函数名在程序的不同地方多次执行(这通常叫函数调用). 函数定义要在函数调用之前,否则函数 ...

  5. 洗礼灵魂,修炼python(21)--自定义函数(2)—函数文档,doctest模块,形参,实参,默认参数,关键字参数,收集参数,位置参数...

    函数文档 1.什么是函数文档: 就是放在函数体之前的一段说明,其本身是一段字符串,一个完整的函数需要带有函数文档,这样利于他人阅读,方便理解此函数的作用,能做什么运算 2.怎么查看函数文档: func ...

  6. python用def编写calsum函数_Python函数

    函数定义: 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. In [3]: def sum ...

  7. python中def fun 定义函数列表_python函数

    # -*- coding:utf-8 -*- #yys #python 3.7.2 # 1.定义函数.调用函数 # 函数:组织好的.可重复使用的.用户实现单一或者关联功能的代码段. # 函数能够提高应 ...

  8. python中平均值函数_python自定义函数ma(x,y)求简单平均值输出结果到列表

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 def ma(x,y): ''' # 自定义函数"ma(x,y)"指南 函数格式:ma(x,y) 函数功能:求序列数据x的y周期的简单 ...

  9. python基础教程: 自定义函数

    多态 我们可以看到,Python 不用考虑输入的数据类型,而是将其交给具体的代码去判断执行,同样的一个函数(比如这边的相加函数 my_sum()),可以同时应用在整型.列表.字符串等等的操作中. 在编 ...

最新文章

  1. android 组装xml,Android中组装xml文件内容
  2. 带你和Python与R一起玩转数据科学: 探索性数据分析(附代码)
  3. Android应用开发经常使用知识
  4. 广汽研究院BMS软件工程师_感·创未来 2020广汽科技日有哪些干货?
  5. 12v60ah锂电池组装图_什么是自放电?如何缩短锂电池自放电测试时间?
  6. apache rewrite 二级域名
  7. nginx安装ngx-pagespeed 不断出错啊
  8. 数据结构与算法-时间复杂度的级别-时间复杂度的算法
  9. 基于IBM Cognos的高级报表制作技巧
  10. 探讨 | 深入探讨Redis管道
  11. python机器学习教程_从零开始掌握Python机器学习:十四步教程
  12. dmg为什么下载成php,解答:dmg是什么意思,dmg文件如何打开,及怎么把dmg转换成iso
  13. 安装使用 GoldenDict 查词神器 (Windows/Mac/Linux)
  14. android中百分比显示_如何在菜单栏中显示Android的电池百分比
  15. 我的面经——投行+咨询+外资银行
  16. DELPHI 旧控件安装到 DELPHI11 新版环境的操作
  17. 尚来古籍——江氏族谱
  18. 无线控制需要服务器,无线局域网无线控制器管理用户通过RADIUS服务器认证的配置-Cisco.PDF...
  19. 完美世界-游戏Java开发工程师-一面
  20. linux搭建声纹识别,声纹识别SDK-FreeSR

热门文章

  1. 【架构】RPC 使用 Haproxy、keepalive作为负载均衡
  2. 《AI人工智能的未来》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+机器学习+人机交互+计算机视觉+生物特征识别+立钻哥哥+==)
  3. js map循环与find循环
  4. Python Bytes和String相互转换,解决Bytes转换String时b‘xxx‘问题
  5. 代码生成 NFT 后,艺术家能否躺着赚钱?# Art Block 生成艺术
  6. 强类型语言和弱类型语言;动态语言和静态语言
  7. 一物一码追踪溯源系统介绍
  8. MATLAB_第二篇神经网络学习_BP神经网络
  9. 预约陪诊系统开发,跨省就医也能省时省力
  10. 很有用但鲜有人知的 Linux 命令