函数的作用
函数就是将一段具有独立功能的代码块
整合到一个整体并命名,在需要的位置调用这个名称
即可完成对应的需求。
函数在开发过程中,可以更高效的实现
代码重用
。
函数的使用步骤
1 定义函数
def 函数名(参数):
代码1
代码2
......
2 调用函数
函数名(参数)
注意:
1. 不同的需求,参数可有可无。
2. 在Python中,函数必须==先定义后使用==。
3 快速体验
需求:复现ATM取钱功能。
- 搭建整体框架(复现需求)
print('密码正确登录成功')
# 显示"选择功能"界面
print('查询余额完毕')
# 显示"选择功能"界面
print('取了2000元钱')
# 显示"选择功能"界面
- 确定“选择功能”界面内容
print('查询余额')
print('存款')
print('取款')
- 封装"选择功能"
注意:一定是先定义函数,后调用函数。
# 封装ATM机功能选项 -- 定义函数
def select_func():
print('-----请选择功能-----')
print('查询余额')
print('存款')
print('取款')
print('-----请选择功能-----')
- 调用函数
在需要显示“选择功能”函数的位置调用函数。
print('密码正确登录成功')
# 显示"选择功能"界面 -- 调用函数
select_func()
print('查询余额完毕')
# 显示"选择功能"界面 -- 调用函数
select_func()
print('取了2000元钱')
# 显示"选择功能"界面 -- 调用函数
select_func()
函数的参数作用
思考:完成需求如下:一个函数完成两个数1和2的加法运算,如何书写程序?
# 定义函数
def add_num1():
result = 1 + 2
print(result)
# 调用函数
add_num1()
# 1. 使用一个函数 2.测试注意事项
# 需求:一个函数:打印hello world
# info_print() # 报错
# 定义函数
def info_print():
print('hello world')
# 调用函数
info_print()
结论:
- 函数先定义后调用,如果先调用会报错
- 如果没有调用函数,函数里面的代码不会执行
- 函数执行流程***
当调用函数的时候,解释器回到定义函数的地方去执行下方缩进的代码,当这些代码执行完,回到调用函数的地方继续向下执行
定义函数的时候,函数体内部缩进的代码并没有执行
思考:上述add_num1函数只能完成数字1和2的加法运算,如果想要这个函数变得更灵活,可以计算任何用户指定的两个数字的和,如何书写程序?
分析:用户要在调用函数的时候指定具体数字,那么在定义函数的时候就需要接收用户指定的数字。函数调用时候指定的数字和定义函数时候接收的数字即是函数的参数。
# 定义函数时同时定义了接收用户数据的参数a和b,a和b是形参
def add_num2(a, b):
result = a + b
print(result)
# 调用函数时传入了真实的数据10 和 20,真实数据为实参
add_num2(10, 20)
函数的返回值作用
例如:我们去超市购物,比如买烟,给钱之后,是不是售货员会返回给我们烟这个商品,在函数中,如果需要返回结果给用户需要使用函数返回值。
def buy():
return '烟'
# 使用变量保存函数返回值
goods = buy()
print(goods)
1 应用
需求:制作一个计算器,计算任意两数字之和,并保存结果。
def sum_num(a, b):
return a + b
# 用result变量保存函数返回值
result = sum_num(1, 2)
print(result)
return 作用:
- 负责函数返回值
- 退出当前函数:导致return下方的所有代码(函数体内部)不执行
函数的说明文档
1 语法
- 定义函数的说明文档
def 函数名(参数):
""" 说明文档的位置 """
代码
......
- 查看函数的说明文档
help(函数名)
5.2 快速体验
def sum_num1(a, b):
"""
求和函数sum_num1
:param a: 参数1
:param b: 参数2
:return: 返回值
"""
return a + b
help(sum_num1)
image.png
函数嵌套调用
所谓函数嵌套调用指的是==一个函数里面又调用了另外一个函数
==。
- 示例
# 两个函数 testA 和 testB -- 在A里面嵌套调用B
# B函数
def testB():
print('B函数开始-----')
print('这是B函数')
print('B函数结束-----')
# A函数
def testA():
print('A函数开始-----')
# 嵌套调用B
testB()
print('A函数结束-----')
testA()
- 效果
- 执行流程
- 如果函数A中,调用了另外一个函数B,那么先把函数B中的任务都执行完毕之后才会回到上次 函数A执行的位置。
函数应用
1 打印图形
- 打印一条横线
def print_line():
print('-' * 20)
print_line()
image.png
- 打印多条横线
def print_line():
print('-' * 20)
def print_lines(num):
i = 0
while i < num:
print_line()
i += 1
print_lines(5)
image.png
函数计算
- 求三个数之和
def sum_num(a, b, c):
return a + b + c
result = sum_num(1, 2, 3)
print(result) # 6
- 求三个数平均值
def average_num(a, b, c):
sumResult = sum_num(a, b, c)
return sumResult / 3
result = average_num(1, 2, 3)
print(result) # 2.0
网友评论