函数:是组织好的,可重复使用的,用来实现特定功能的代码段。
好处:
3.注意事项
# 定义函数
def check():
print("调用函数")
# 调用函数
check()
# 输出
调用函数
1.函数的传入参数作用是什么
在函数运行的时候,接受外部传入的数据
2.使用方式
3.注意事项
练习
#定义函数
def check(num):
print("请测量体温")
if num >= 37.5:
print(f"您的体温是{num},需要隔离")
else:
print(f"您的体温是{num},可以进入")
#调用函数
check(37.6)
#输出
请测量体温
您的体温是37.6,需要隔离
1.1什么是函数的返回值
函数在执行完成后,返回给调用者的结果
1.2返回值的应用语法
使用关键字,return返回结果
1.3注意
函数在遇到return后就结束了,所以写在return后的代码就不会被执行了。
练习
#定义函数
def add(x,y):
result = x + y
return result
r = add(1,2)
print(r)
#输出
11
思考:如果函数没有使用return语句返回数据,那么函数有返回值吗?
实际上是:有的。
Python中有一个特殊的字面量:None,其类型是:
无返回值的函数,实际上就是返回了:None这个字面量
None表示:空的、无实际意义的意思
函数返回的None,就表示,这个函数没有返回什么有意义的内容。
也就是返回了空的意思。
1.什么是None
None是类型‘NonoType’的字面量,用于表示:空的,无意义的
2.函数如何返回None
3.使用场景
练习
# 定义函数
def say_hi():
print("你好呀")
return None
result = say_hi()
print(f"无返回值函数,返回内容是:{result}")
print(f"无返回值函数,返回内容类型是{type(result)}")
#输出
你好呀
无返回值函数,返回内容是:None
无返回值函数,返回内容类型是<class 'NoneType'>
1.说明文档的作用是
对函数进行说明解释,帮助更好理解函数的功能
1.什么是函数调用
在一个函数中,调用另一个函数
2.执行流程
函数A中执行到调用函数B的语句,会将函数B全部执行完之后,继续执行函数A剩下的语句。
练习
# 定义函数func_b
def func_b():
print("---2---")
# 定义函数func_a,内部调用func_b
def func_a():
print("---1---")
func_b()
print("---3---")
# 调用函数
func_a()
#输出
---1---
---2---
---3---
1.什么是局部变量
作用范围在函数内部,函数外部无效
2.什么是全局变量
在函数内部外部都可以使用
3.如何将函数内定义的变量声明为全局变量
使用global关键字 global 变量
练习
###全局变量
num = 200 # 定义全局变量
def test_a():
print(f"test_a:{num}")
def test_b():
print(f"test_b:{num}")
test_a()
test_b()
print(num)
#输出
test_a:200
test_b:200
200
###局部变量变为全局变量
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)
#输出
test_a:200
test_b:500
500
# 定义全局变量
money = 5000000
name = input(f"请输入你的名字:")
# 定义查询函数
def query(show_header):
if show_header:
print("--------------查询余额--------------")
print(f"{name},您好,您的余额剩余:{money}元")
# 定义存款函数
def saving(num):
global money
money += num
print(f"{name},您好,您存款{num}元成功。")
#调用query函数查询余额
query(False)
# 定义取款函数
def get_money(num):
global money
money -= num
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 #通过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
##输出
请输入你的名字:tdm
--------------主菜单--------------
tdm,您好,欢迎来到黑马ATM。请选择操作:
查询余额 [输出1]
存款 [输出2]
取款 [输出3]
退出 [输出4]
请输入你的选择:1
--------------查询余额--------------
tdm,您好,您的余额剩余:5000000元
--------------主菜单--------------
tdm,您好,欢迎来到黑马ATM。请选择操作:
查询余额 [输出1]
存款 [输出2]
取款 [输出3]
退出 [输出4]
请输入你的选择:2
您想要存多少钱: 500000
tdm,您好,您存款500000元成功。
tdm,您好,您的余额剩余:5500000元
--------------主菜单--------------
tdm,您好,欢迎来到黑马ATM。请选择操作:
查询余额 [输出1]
存款 [输出2]
取款 [输出3]
退出 [输出4]
请输入你的选择:3
您要取多少钱: 200000
tdm,您好,您取款200000元成功。
tdm,您好,您的余额剩余:5300000元
--------------主菜单--------------
tdm,您好,欢迎来到黑马ATM。请选择操作:
查询余额 [输出1]
存款 [输出2]
取款 [输出3]
退出 [输出4]
请输入你的选择:4
输入错误