函数:避免重复写代码
函数的定义语法
def 函数名 (传参)
函数体
return返回值
函数定义完成后 想要使用他就必须调用它
def niubixiaolong():
print("我是王小龙 ")
niubixiaolong()
函数的参数:
def add(x,y):
result = x+y
print(f"{x}+{y}={x+y}")
add(5,6)
形参与实参:
形参:x,y
实参:5,6
案例:
def check(temp):
if temp >37.3:
print("体温异常 禁止入内")
else:
print("体温正常 允许通行")
check(50)
函数返回值定义语法:
函数体在遇到return 后 就结束了 return 后的语句不会被执行
def add(x,y):
result = x+y
print(f"两数之和为{x+y}")
return result
sum = add(5,6)
print(sum)
返回值:None类型
None 在if 判断中表示的是False 的意思
def check_age(age):
if age>18:
print("已满18")
return "success"
else:
return None##等同flase
result = check_age(16)
if result ==None: ##未成年
print("未成年")
无return 语句中 返回的是None 的值
def check_age():
print("你的年龄是")
result =check_age()
print(f"无返回值 返回的内容是{result}")
print(f"返回内容类型为{type(result)}")
函数说明文档:
函数的嵌套调用
变量的作用域:
局部变量:只能在函数体内 运行 运行完后立刻销毁
全局变量:在函数体内和函数体外都能同时 运行
global:可以通过函数内部声明 变量为全局变量
函数综合案例:一个ATM 菜单栏
money = 5000000
name = None
name = input("请输入您的姓名:")
def check(show_header):###查询函数 该段代码希望存款后 能自动查询余额 但是不显示表头
if show_header:
print("----------查询余额---------")
print(f"您当前的余额为{money}")
def save(x):###存款函数
global money
money+=x
print("----------存款---------")
print(f"你成功存入金额{x}")
check(False)
def cost(y):
global money
money -= y
print("----------取款---------")
print(f"你成功取出金额{y}")
check(False)
def menu():
print("----------主菜单---------")
print(f"{name},您好欢迎来到自助ATM机")
print("查询余额\t [输入1]")
print("存款\t\t [输入2]")
print("取款\t\t [输入3]")
print("退出\t\t [输入4]")
return input("请输入您的选择:")
##无限循环
while (1):
keyboard_input=menu()###keyboard_input 定义键盘检测函数
if keyboard_input=='1':
check(True)###
continue
elif keyboard_input=='2':
x = int(input("请输入存款数额:"))
save(x)
continue
elif keyboard_input=='3':
y = int(input("请输入取款数额:"))
cost(y)
continue
else:
print("程序退出")
break