一 函数介绍
1.函数是什么
组织好的、可重复使用的、用来实现特定功能的代码段。
input(),print(),str(),int()都是内置函数。
2.函数的使用
3.函数的作用
将功能封装在函数内,可供随时随地重复利用。
提高代码的复用性,减少重复代码,提高开发效率。
1.已组织好的
2.可重复使用
3.针对特定功能
二 函数的定义
函数就像电吹风,通电才能工作。
函数就是工具,通电是调用这个函数(使用这个工具)。
三 函数的参数
1.参数的作用
在函数进行计算的时候,接受外部(调用时)提供的数据。
2.参数的使用方式
3.注意事项
4.课程练习
四 函数的返回值
1.函数返回值的定义
使用关键字 return 来返回结果。
函数体在遇到 return 后就结束了,所以写在 return 后的代码不会执行。
2.None类型
什么是None
函数如何返回None
使用场景
if 判断是true才能执行 但是result是false 所以要把他变成true。
五 函数说明文档
六 函数的嵌套调用
函数 A 中执行到调用函数 B的语句,会将函数 B 全部执行完成后,继续执行函数 A 的剩余内容。
七 变量的作用域
1.局部变量
作用范围在函数内部,在函数外部无法使用。
2.全局变量
在函数内部和外部均可使用。
3.global关键字
将函数内定义的变量声明为全局变量。
global num 的前提是在函数外面定义了num = 100。
八 综合案例
初始代码:
money = 5000000
name = input("请输入您的姓名:")
#分函数4个
#分函数1
def surplus():
print("--------查询余额--------")
print(f"{name},您好,您的余额是:{money}元")
#分函数2
def savings():
print("--------存款--------")
money_savings = int(input(f"请输入您要存的金额:"))
print(f"{name},您好,您存款{money_savings}元成功")
global money
money += money_savings
surplus()
#分函数3
def take():
print("--------取款--------")
surplus()
money_take = int(input(f"请输入您要取款的金额:"))
print(f"{name},您好,您取款{money_take}元成功")
global money
money -= money_take
surplus()
#主函数
def menu():
print("--------主菜单--------")
print(f"{name},您好,欢迎来到黑马银行ATM。请选择操作:")
print("查询余额\t【输入1】\n存款\t\t【输入2】\n取款\t\t【输入3】\n退出\t\t【输入4】\n")
num = int(input("请输入您的选择:"))
if num == 1:
surplus()
menu()
elif num == 2:
savings()
menu()
elif num == 3:
take()
menu()
else:
print("程序结束!")
menu()
总结:
1.global要写在函数里面,不能写在外面。
2.global num = int(input("请输入要存的金额:")) 是错的,
global num ; num = int(input("请输入要存的金额:")) 是对的。
3.分函数2中global money,但是分函数3中也使用了money,也要在分函数3中global money。不然分函数3中的money和分函数2中global money,也就是全局的money是不同的变量,前者是形参,后者是实参。
4.下图为视频的示例代码,通过取款函数的传参可以在查询余额的时候不打印-----查询余额--------这行。
5.两个制表符
6.用 return 返回到外面进行判断,不是在函数里面判断。下图为视频的示例代码。
7.重点
是True不是true。
示例代码中有continue,但是可以没有。
8. 如果函数定义的时候有传参,那就一定要传参才能正确调用。
修改后的代码:
money = 5000000
name = input("请输入您的姓名:")
#分函数4个
#分函数1
def surplus(x):
if x:
print("--------查询余额--------")
print(f"{name},您好,您的余额是:{money}元")
#分函数2
def savings():
print("--------存款--------")
money_savings = int(input(f"请输入您要存的金额:"))
print(f"{name},您好,您存款{money_savings}元成功")
global money
money += money_savings
surplus(False)
#分函数3
def take():
print("--------取款--------")
surplus(False)
money_take = int(input(f"请输入您要取款的金额:"))
print(f"{name},您好,您取款{money_take}元成功")
global money
money -= money_take
surplus(False)
#主函数
def menu():
print("--------主菜单--------")
print(f"{name},您好,欢迎来到黑马银行ATM。请选择操作:")
print("查询余额\t【输入1】\n存款\t\t【输入2】\n取款\t\t【输入3】\n退出\t\t【输入4】\n")
n = int(input("请输入您的选择:"))
return n
while True:
num = menu()
if num == 1:
surplus(True)
elif num == 2:
savings()
elif num == 3:
take()
else:
print("程序结束!")
break