函数
函数就是将一段具有独⽴功能的代码块 整合到一个整体并命名,在需要的位置调用这个名称即可完成对应的需求。
- 使用步骤
def 函数名(参数):
代码1
代码2
......
- 调用函数
函数名(参数)
注意:
- 不同的需求,参数可有可⽆无。
- 在Python中,函数必须先定义后使用。
- 例子:
复现ATM机取钱流程
- 搭建整体框架(复现需求)
print('密码正确登录成功')
# 显示"选择功能"界⾯面
print('查询余额完毕')
# 显示"选择功能"界⾯面
print('取了了2000元钱')
# 显示"选择功能"界⾯面
- 确定“选择功能”界面内容
print('查询余额')
print('存款')
print('取款')
- 封装"选择功能"
代码语言:javascript复制注意:一定是先定义函数,后调用函数
# 封装ATM机功能选项 -- 定义函数
def select_func():
print('-----请选择功能-----')
print('查询余额')
print('存款')
print('取款')
print('-----请选择功能-----')
- 调用函数
在需要显示“选择功能”函数的位置调用函数
代码语言:javascript复制print('密码正确登录成功')
# 显示"选择功能"界面 -- 调用函数
select_func()
print('查询余额完毕')
# 显示"选择功能"界面 -- 调用函数
select_func()
print('取了了2000元钱')
# 显示"选择功能"界面 -- 调用函数
select_func()
函数的参数作用
代码语言:javascript复制一个函数完成两个数1和2的加法运算
# 定义函数
def add_num1():
result = 1 2
print(result)
# 调⽤用函数
add_num1()
代码语言:javascript复制⽤户要在调用函数的时候指定具体数字,那么在定义函数的时候就需要接收用户指定的数字。函数调用时候
指定的数字
和定义函数时候接收的数字即是函数的参数
。
# 定义函数时同时定义了接收用户数据的参数a和b, a和b是形参
def add_num2(a, b):
result = a b
print(result)
# 调⽤函数时传入了真实的数据10 和 20,真实数据为实参
add_num2(10, 20)
函数的返回值作用
代码语言:javascript复制例如:我们去超市购物,⽐如买烟,给钱之后,是不是售货员会返回给我们烟这个商品,在函数中,如果需要返回结果给用户需要使用
函数返回值
。
def buy():
return '烟'
# 使用变量保存函数返回值
goods = buy()
print(goods)
应用
代码语言:javascript复制需求:制作一个计算器,计算任意两数字之和,并保存结果。
def sum_num(a, b):
return a b
# 用result变量保存函数返回值
result = sum_num(1, 2)
print(result)
函数的说明文档
函数的说明⽂档也叫函数的文档说明
语法
- 定义函数的说明文档
def 函数名(参数):
""" 说明文档的位置 """
代码
......
- 查看函数的说明文档
help(函数名)
例子:
代码语言:javascript复制def sum_num(a, b):
""" 求和函数 """
return a b
help(sum_num)
函数嵌套调⽤
所谓函数嵌套用指的是⼀个函数里⾯⼜调用了另外一个函数。
- 例子
def testB():
print('---- testB start----')
print('这⾥里里是testB函数执行的代码...(省略)...')
print('---- testB end----')
def testA():
print('---- testA start----')
testB()
print('---- testA end----')
testA()
如果函数A中,调⽤了另外一个函数B,那么先把函数B中的任务都执行完毕之后才会回到上次函数A执行的位置
函数应用
- 打印图形
# 打印一条横线
def print_line():
print('-' * 20)
print_line()
# 打印多条横线
def print_line():
print('-' * 20)
def print_lines(num):
i = 0
while i < num:
print_line()
i = 1
print_lines(5)
- 函数计算
- 求三个数之和
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
总结
- 函数的作用:封装代码,⾼效的代码重用
- 函数使用步骤
- 定义函数
def 函数名(): 代码1 代码2 ...
- 调用函数
函数名()
- 函数的参数:函数调用的时候可以传入真实数据,增大函数的使用的灵活性
- `形参:函数定义时书写的参数(⾮真实数据)
- 实参:函数调用时书写的参数(真实数据)
- 函数的返回值
- 作用:函数调用后,返回需要的计算结果
- 写法
return 表达式
- 函数的说明文档
- 作用:保存函数解释说明的信息
- 写法 def 函数名(): """ 函数说明文档 """
- 函数嵌套用:一个函数内部嵌套调用另外一个函数