函数
定义:是组织好的,可重复使用的,用来实现特定功能的代码段
优点:
- 将功能封装在函数内,可供随时随地重复利用
提高复用性、开发效率
定义语法
函数的定义:
def 函数名(传入参数):
函数体
return 返回值 (可以省略)
函数的调用:
函数名(参数)
注意事项:
- 参数如果不需要,可以省略
- 返回值不需要,可以省略
- 函数必须先定义后使用
# 定义一个函数,输出相关信息
def say_hi():
print("我是美女")
# 调用函数,让其工作
say_hi()
案例
定义一个函数,调用函数后可以输出以下欢迎语:
欢迎来到bake day
请出示您的健康码以及72小时核酸证明!
def check():
print("欢迎来到bake day!\n请出示您的健康码以及72小时核酸证明!")
# 调用函数,让其工作
check()
函数的参数
传入参数
功能:在计算时,接受外部提供的数据
定义语法:
def 函数名(传入参数):
函数体
return 返回值
def add(x, y):
result = x + y
print(f" + {y}的结果是:{result}")
# 调用函数,让其工作
add(5, 6)
- 函数定义中,x和y称之为: 形式参数 ,表示函数声明将要使用2个参数
- 函数调用中,5和6称之为: 实际参数 ,表示函数执行时真正使用的参数值
通过逗号分离
注意:
传入参数的数量是不受限制的,可以不使用参数,也可以仅使用任意N个参数案例
查核酸并测量体温
# 定义一个函数,输出相关信息 def check(num): print("欢迎来到bake day!\n请出示您的健康码以及72小时核酸证明!") if num <= 37.5: print(f"体温测量中,您的体温是:{num}度,体温正常请进") else: print(f"体温测量中,您的体温是:{num}度,需要隔离") # 调用函数,让其工作 check(38)
输出:
欢迎来到bake day!
请出示您的健康码以及72小时核酸证明!
体温测量中,您的体温是:38度,需要隔离
函数的返回值
定义
语法:
def 函数(参数...):
函数体
return 返回值
def add(a, b):
result = a + b
# 通过返回值,将相加的结果返回给调用者
return result
# 函数的返回值,可以通过变量去接受
r = add(5, 6)
print(r)
None类型
函数没有使用return语句返回数据,函数有返回值
特殊的字面量:None
无返回值的函数实际上是返回了:None这个字面量
None:空的、无实际意义的意思
函数返回的None就是返回了空的意思
应用
- 函数无返回值
- if判断
在if中,None = False
一般用于在函数中主动返回None,配合if判断做相关处理 声明无内容的变量上
定义变量,但暂时不需要变量有具体值,可以用None来代替函数说明文档
辅助理解函数
语法:
def func(x, y)
'''
函数说明
:param x:形参x的说明
:param y:形参y的说明
:return:返回值的说明
'''
函数体
return 返回值def add(x, y): """ :param x:相加的数字1 :param y:相加的数字2 :return:返回相加的结果 """ result = x + y print(f"2数相加的结果是:{result}") return result add(5, 6)
函数的嵌套调用
定义:一个函数里面又调用了另外一个函数
语法:
def func_b():
print("---2---")
def func_a():
print("---1---")
func_b()
print("---3---")
func_a()
变量的作用域
变量的作用范围
分类:局部变量和全局变量
局部变量
只在函数体内部生效
作用:在函数体内部,临时保存数据,
全局变量
在函数体内、外都能生效的变量
global 关键字
可以在函数内部声明变量为全局变量
案例
money = 5000000
name = None
# 要求客户输入姓名
name = input("请输入您的姓名")
# 定义查询函数
def query(show_header):
if show_header:
print("-----查询余额-----")
print(f"{name},您好,您的余额剩余:{money}元")
# 定义存款函数
def saving(num):
global money
money += money
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},您好,欢迎来到ATM,请选择操作:")
print("查询余额\t[输入1]")
print("存款\t\t[输入2]")
print("取款\t\t[输入3]")
print("退出\t\t[输入4]")
return input("请输入您的选择:")
# 设置无限循环,确保不退出
while True:
keyboard_input = main()
if keyboard_input == "1":
query(True)
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
评论 (0)