函数1
一、函数定义
函数定义:将一串具有独立功能的代码块,整合到一个整体并命名,在需要的位置调用这个名称,即可完成对应的需求
函数在开发过程中,可以更高效地实现代码重用
二、函数的使用步骤
2.1 定义函数
def 函数名(参数):
代码1
代码2
...
2.2 调用函数
函数名(参数)
# 注意:
# 不同的需求,参数可有可无
# 在python中,函数必须先定义后使用
2.3 快速体验
# ATM取款
# 因为函数要先定义后调用,所以步骤2和3要在1的上面
# 2.确定选择功能的界面: 显示余额,取款,存款 # 3.封装函数
def sel_func():
print('显示余额')
print('取款')
print('存款')
# 1.搭建框架
"""
输入密码登录后 要显示功能
查询余额后
取完钱后
"""
print('恭喜您登录成功!')
sel_func()
# 显示功能界面 # 4. 在需要的位置调用函数
print('您的余额是1000000000')
sel_func()
# 显示功能界面 # 4. 在需要的位置调用函数
print('取了1000元')
sel_func()
# 显示功能界面 # 4. 在需要的位置调用函数
# 4. 在需要的位置调用函数
2.4 注意事项
# 1.使用一个函数
# 2.测试注意事项
# 需求 一个函数,打印hello world
# info_print() # 若先调用,会报错;应先定义后调用
# 定义函数
def info_print():
print('hello world')
# 调用函数
info_print()
"""
1.若没有调用函数,则不执行代码
2.函数执行流程
1)调用函数时,解释器回到定义函数的地方 去执行下方缩进的代码,当这些代码执行完,会回到调用函数的地方,继续向下执行
2)定义函数时,函数体内部缩进的代码并没有执行
"""
三、函数的参数作用
#参数的作用 使函数更灵活
#1.函数 固定数据1和2 做加法
def add_num1():
result = 1 + 2
print(result)
add_num1() # 3
# 2.参数形式传入真实数据,做加法运算
def add_num2(a, b):
result = a + b
print(result)
add_num2(10, 20)
add_num2(100) # 报错 定义函数是2个,传入数据也应是2个
# a和b为形参,10和20为实参
四、函数的返回值的作用
# 定义一个函数,返回 烟
def buy():
return '烟'
print('ok') # 不执行
goods = buy()
print(goods)
# return返回结果给函数调用的地方
"""
return作用
1.负责函数返回值
2.退出当前函数:导致return下方的所有代码(函数体内部)不执行
"""
4.1 函数的应用
# 需求:制作计算器 计算任意两个数字的和,并返回结果
"""
1.定义函数:2个参数 + return的返回值
2.调用函数,传入2个真实数据 -- 这里即有返回值结果,打印这个结果即可
"""
def sum_num(a, b):
return a + b
result = sum_num(1, 2)
print(result)
五、函数的说明文档
5.1语法
# 1.定义函数的说明文档
def 函数名(参数):
"""说明文档的位置"""
代码
...
# 2.查看函数的说明文档
help(函数名)
5.2快速体验
def sum_num(a, b):
"""求和函数"""
return a + b
help(sum_num)
# 函数说明文档的高级使用
def sum_num1(a, b):
"""
求和函数sum_num1
:param a: 参数1
:param b: 参数2
:return: 返回值
"""
return a + b
help(sum_num1)
六、函数嵌套调用
定义:一个函数里面又调用了另一个函数
# 两个函数 testA testB -- 在A里面嵌套调用B
# A函数
# B函数
def testB():
print('B函数开始-----')
print('这是B函数')
print('B函数结束-----')
def testA():
print('A函数开始------')
# 嵌套调用B
testB()
print('A函数结束------')
testA()
"""
结果:
A函数开始------
B函数开始-----
这是B函数
B函数结束-----
A函数结束------
"""
七、函数嵌套应用
7.1打印图形
# 1.打印1条横线
def print_line():
print('-' * 20)
print_line()
# 1.打印1条横线
def print_line():
print('-' * 20)
# print_line()
# 2.函数嵌套调用,实现多条横线
def print_lines(num):
i = 0
while i < num:
print_line()
i += 1
print_lines(5) # 5条横线,i从0取到4
7.2函数计算
# 1.任意3个数之和
def sum_num(a, b, c):
return a + b + c
result = sum_num(1, 2, 3)
print(result)
# 2.任意3个数求平均值
def sum_num(a, b, c):
return a + b + c
result = sum_num(1, 2, 3)
# print(result)
def average_num(a, b, c):
# 先求和,再除以3
sumResult = sum_num(a, b, c)
return sumResult / 3
averageResult = average_num(1, 2, 3)
print(averageResult)