文章目录
1 函数介绍
案例
str1 = "itheima"
str2 = "itcast"
str3 = "python"
count = 0
for i in str1:
count += 1
print(f"字符串{str1}的长度是:{count}")
count = 0
for i in str2:
count += 1
print(f"字符串{str2}的长度是:{count}")
count = 0
for i in str3:
count += 1
print(f"字符串{str3}的长度是:{count}")
# 使用函数,来优化这个过程
def my_len(date):
count = 0
for i in date:
count += 1
print(f"字符串{date}的长度是:{count}")
my_len(str1)
my_len(str2)
my_len(str3)
使用函数的好处:
将功能封装在函数内,可供随时随地重复使用
提高代码的复用性,减少重复代码,提高开发效率
2 函数的定义
def say_hi():
print("hello word")
say_hi()
3 函数的参数
传入参数的功能是:在函数进行计算的时候,接受外部(调用时)提供数据
def add(a,b):
result = a + b
print(f"{a} + {b} = {result}")
add(5,6)
案例
def check(num):
print("请测量体温")
if num <= 37.5:
print(f"您的体温是{num}度,体温正常")
else:
print(f"您的体温是{num}度,体温不正常")
check(66)
4 函数的返回值
4.1 函数返回值的定义
def add(a,b):
result = a + b
return result
r = add(5,6)
print(r)
4.2 None类型
# 无return的语句的函数返回值
def say_hi():
print("你好")
result = say_hi()
print(f"无返回值函数,返回的内容是:{result}")
print(f"无返回值函数,返回的内容类型是:{type(result)}")
# 主动返回None的函数
def say_hi2():
print("你好")
return None
result = say_hi2()
print(f"无返回值函数,返回的内容是:{result}")
print(f"无返回值函数,返回的内容类型是:{type(result)}")
# None用于if判断
def check_age(age):
if age > 18:
return "SUCCESS"
else:
return None
result = check_age(12)
if not result:
print("未成年,不可进入")
# None用于声明无初始内容的变量
name = None
5 函数说明文档
6 函数的嵌套调用
def func_b():
print("---2---")
def func_a():
print("---1---")
func_b()
print("---3---")
func_a()
7 变量的作用域
局部变量
全局变量
8 综合案例
ATM机
# 定义全局变量money name
money = 50000
name = None
# 要求客户输入姓名
name = input("请输入您的姓名:")
# 定义查询函数
def query(show_header):
if show_header:
print("---------查询余额---------")
print(f"{name},您好,您的余额剩余,{money}元")
# 定义存款函数
def saving(num):
global money
money += num
print("---------存款---------")
print(f"{name},您好。您存款{num}元成功")
query(False)
# 定义取款函数
def get_money(num):
global money
money -= num
print("---------取款---------")
print(f"{name},您好。您取款{num}元成功")
query(False)
# 定义主菜单函数
def main():
print("---------主菜单---------")
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