欢迎来到我的博客!💃💃
🏡🏡推荐博客:August_._
一起持续学习,不断总结,共同进步🎊🎊
函数
定义
函数是组织好的,可重复使用的,用来实现特定功能的代码段
# 函数必须先定义后使用
def 函数名(传入参数# 可省略):
函数体
return 返回值# 可省略
# 函数的调用
函数名(参数)
例如:
# 定义一个函数,输出相关信息
def say_hi():
print("路虽远,行则将至")
# 调用函数,让定义的函数开始工作
say_hi()
say_hi()
say_hi()
传入参数
作用:
在函数运行的时候,接受外部传入的数据
使用方式:
def add(x,y):
result = x + y
print(f"{x} + {y}的结果是:{result}")
注意事项:
- 函数定义中的参数,称之为形式参数
- 函数调用中的参数,称之为实际参数
- 函数的参数数量不限,使用逗号分隔开
- 传入参数的时候,要和形式参数一一对应,逗号隔开
应用案例
def check(x):
print("请出示你的健康码及体温")
if x <= 37.5:
print(f"你的体温是:{x}度,体温正常请进")
else:
print(f"你的体温是:{x}度,需要隔离")
check(37.3)
函数返回值
1、函数在执行完成后,返回给调用者的结果
2、使用关键字:return 来返回结果
3、函数体遇到 return 后就结束了,所以写在 return 后的代码不会执行
def 函数(参数):
函数体
return 返回值
变量 = 函数(参数)
例如:
# 定义一个函数,完成2数相加功能
def add(a,b):
result = a + b
# 函数的返回值,将相加的结果返回给调用者
return result
# 函数的返回值,可以通过变量去接收
r = add(6,8)
print(r)
None 类型
概念:
"NoneType" 的字面量,用来表示:空的、无意义的
函数如何返回 None:
1、不使用 return 语句即返回 None
# 无return语句的函数返回值
def say_hi():
print("你好呀")
result = say_hi()
print(f"无返回值函数,返回的内容是:{result}")
print(f"无返回值函数,返回的内容是:{type(result)}")
2、主动 return None
# 主动返回None的函数
def say_hi2():
print("你好呀")
return None
result = say_hi2()
print(f"无返回值函数,返回的内容是:{result}")
print(f"无返回值函数,返回的内容是:{type(result)}")
使用场景:
1、函数的返回值
2、if 判断
- 在 if 判断中,None等同于False
- 一般用于在函数中主动返回None,配合if判断做相关处理
# None用于if判断
def check_age(age):
if age > 18:
return "SUCCESS"
else:
return None
result = check_age(12)
if not result:
# 进入if表示result是None值,也就是False
print("未成年,不可以进入")
3、定义变量
暂时不需要变量有具体值,可以用None来代替
# None用于声明无初始内容的变量
name = None# 表示暂时不提供值,后续再处理
函数说明文档
对函数进行说明解释,帮助更好理解函数的功能
嵌套使用
函数A中调用函数B,会先把函数B中的任务全部执行完了才会继续执行函数A剩余的内容
变量的作用域
局部变量
定义在函数内部的变量,即只在函数内部生效
全局变量
指在函数体内、外都能生效的变量
# 在函数内修改全局变量
num = 200
def test_a():
print(f"test_a:{num}")
def test_b():
num = 500 # 局部变量
print(f"test_b:{num}")
test_a()
test_b()
print(num)
global关键字
在函数内部声明变量为全局变量
# global声明全局变量
num = 200
def test_a():
print(f"test_a:{num}")
def test_b():
global num # 设置内部定义的变量为全局变量
num = 500
print(f"test_b:{num}")
test_a()
test_b()
print(num)
综合案例------ATM
# 银行卡余额
money = 5000000
#要求客户输入姓名
name = input("请输入你的姓名:")
# 定义查询函数
def query(show_header):
if show_header:
print("---------查询余额---------")
print(f"{name},您好,您的余额剩余{money}元")
# 定义存款函数
def saving(num):
global money # money在函数内部定义为全局函数
money += num
print("-----------存款-----------")
print(f"{name},您好,您存款{num}元成功")
# 调用query函数查询余额
query(False)
# 定义取款函数
def get_money(num):
global money
money -= num
print("-----------取款-----------")
print(f"{name},您好,您取款{num}元成功")
# 调用query函数查询余额
query(False)
# 定义主菜单函数
def main():
print("----------主菜单----------")
print(f"{name},您好,欢迎来到xx银行ATM。请选择操作:")
print("查询余额\t[输入1]")
print("存款\t\t[输入2]")
print("取款\t\t[输入3]") # 通过\t制表符对齐输出
print("退出\t\t[输入4]")
return input("请输入您的选择:")
# 设置无限循环,确保循环不退出
while True:
keyboard_input = main()
if keyboard_input == "1":
query(True)
continue # 通过continue继续下一次循环,一进来就是回到了主菜单
elif keyboard_input == "2":
num = int(input("您想要存多少钱?请输入:"))
saving(num)
continue
elif keyboard_input == "3":
num = int(input("您想要取多少钱?请输入:"))
get_money(num)
continue
else:
print("程序退出了")
break # 通过break退出循环