Python基础语法(十二)函数——函数基础
目标
- 函数的作用
- 函数的使用步骤
- 函数的参数作用
- 函数的返回值作用
- 函数的说明文档
- 函数嵌套
函数的作用
需求:用户到ATM机取钱:
-
输入密码后显示"选择功能"界面
-
查询余额后显示"选择功能"界面
-
取2000钱后显示"选择功能"界面
特点:显示“选择功能”界面需要重复输出给用户,怎么实现?
函数就是将一段具有独立功能的代码块 整合到一个整体并命名,在需要的位置调用这个名称即可完成对应的需求。
函数在开发过程中,可以更高效的实现代码重用。
函数的使用步骤
定义函数
def 函数名(参数): |
调用函数
函数名(参数) |
注意:
-
不同的需求,参数可有可无。
-
在Python中,函数必须先定义后调用。
示例
需求:复现ATM取钱功能。
视频写的
-
搭建整体框架(复现需求)
print('密码正确登录成功') |
-
确定“选择功能”界面内容
print('查询余额') |
-
封装"选择功能"
注意:一定是先定义函数,后调用函数。
# 封装ATM机功能选项 -- 定义函数 |
-
调用函数
在需要显示“选择功能”函数的位置调用函数。
print('密码正确登录成功') |
自己写的
自定义函数必须先定义,再调用
函数名只能小写
|
结论:
1.函数先定义后调用, 若先调用会报错
2.如果没有调用函数,函数里面的代码不会执行
3.函数执行流程当调用函数的时候,解释器会回到定义函数的地方去执行函数内部的代码,代码执行完成之后,继续执行向下执行定义函数的时候,函数体内部缩进的代码并没有执行
函数的参数作用
思考:完成需求如下:一个函数完成两个数1和2的加法运算,如何书写程序?
# 定义函数 |
思考:上述add_num1函数只能完成数字1和2的加法运算,如果想要这个函数变得更灵活,可以计算任何用户指定的两个数字的和,如何书写程序?
分析:用户要在调用函数的时候指定具体数字,那么在定义函数的时候就需要接收用户指定的数字。函数调用时候指定的数字和定义函数时候接收的数字即是函数的参数。
定义函数的参数—形参,不可变
调用函数的参数—实参,可变
# 定义函数时同时定义了接收用户数据的参数a和b,a和b是形参 |
函数的返回值return作用
例如:我们去超市购物,比如买烟,给钱之后,是不是售货员会返回给我们烟这个商品,在函数中,如果需要返回结果给用户需要使用函数返回值return。
def buy(): |
return作用:
1.负责函数返回值
2.退出当前函数体,导致函数体内部的return下方所有代码不被执行
应用
需求:制作一个计算器,计算任意两数字之和,并·保存结果。
def sum_num(a, b): |
函数的说明文档
思考:定义一个函数后,程序员如何书写程序能够快速提示这个函数的作用?
答:注释
思考:如果代码多,我们是不是需要在很多代码中找到这个函数定义的位置才能看到注释?如果想更方便的查看函数的作用怎么办?
答:函数的说明文档
函数的说明文档也叫函数的文档说明。
语法
-
定义函数的说明文档
def 函数名(参数): |
-
查看函数的说明文档
help(函数名) |
快速体验
def sum_num(a, b): |
**注:**在自定义函数内部第一行加三对双引号,在引号内部加说明
函数嵌套调用
所谓函数嵌套调用指的是一个函数里面又调用了另外一个函数。
-
示例
def testB(): |
-
效果
-
执行流程
如果函数A中,调用了另外一个函数B,那么先把函数B中的任务都执行完毕之后才会回到上次 函数A执行的位置。
函数应用
打印图形
-
打印一条横线
def print_line(): |
-
打印多条横线
def print_line(): |
函数计算
-
求三个数之和
def sum_num(a, b, c): |
-
求三个数平均值
def average_num(a, b, c): |
总结
-
函数的作用:封装代码,高效的代码重用
-
函数使用步骤
- 定义函数
def 函数名():
代码1
代码2
...-
调用函数
函数名()
-
函数的参数:函数调用的时候可以传入真实数据,增大函数的使用的灵活性
- 形参:函数定义时书写的参数(非真实数据)
- 实参:函数调用时书写的参数(真实数据)
-
函数的返回值
- 作用:函数调用后,返回需要的计算结果
- 写法
return 表达式
-
函数的说明文档
- 作用:保存函数解释说明的信息
- 写法
def 函数名():
""" 函数说明文档 """ -
函数嵌套调用:一个函数内部嵌套调用另外一个函数