python day4
第一阶段
第五章 函数
5.1 简介
组织好的,可重复使用,有特定功能的封装起来的
str1 = "itheima" def my_len(data): count = 0 for i in data: count += 1 print(count) my_len(str1)
5.2 定义

5.3 传入参数
5.4 函数返回值

def add1(x ,y): result = x + y print(result) add1("dog ","cat")

5.5 None
<class"Nonetype>
def say_hi(): print("hello")
return None #可以不要 result = say_hi() print(f"内容{result}") print(f"内容类型{type(result)}")
、
None == false
def check_age(age): if age >18: return "yes" else: return None result = check_age(7) if not result: print("未成年")

5.6 说明文档 注释
在函数定义下一行 输入”“” 回车,自动出说明内容,鼠标悬停在调用的函数名上时显示注释内容
def check_age(age): """ :param age: 参数age表示是年龄 :return: 返回值返回判断结果 """ if age >18: return "yes" else: return None
5.7 函数嵌套调用
def func2(): print("2") def func1(): print("1") func2() print("3") func1()
5.8 函数作用域
局部变量:只在函数体内部有效,函数体执行完之后销毁
全局变量:
global:在局部中(函数体)中使用,是声明了一个全局变量,与外部定义的为全局变量同名时,函数体内对它做出的改变是有效的,能被带出来的。
1 num = 100 2 def fun_1(): 3 num = 200 4 print(num) 5 6 fun_1() 7 print(num) 8 9 def fun_2(): 10 global num 11 num = 500 12 print(num) 13 14 fun_2() 15 print(num)

5.9 综合案例


程序会推出 否则一直执行
1 name = input("请输入姓名") 2 money = 5000000 3 4 def func1(): 5 print("----------查询余额query----------") 6 print(f"{name}您好,您的余额为{money}元") 7 return True 8 9 def func2(): 10 print("----------存款saving----------") 11 global money 12 x = int(input("请输入要存入的金额")) 13 money += x 14 print(f"{name}您好,{x}元存款成功\n您的余额为{money}元") 15 return True 16 17 def func3(): 18 print("----------取款 ----------") 19 global money 20 x = int(input("请输入要取出的金额")) 21 if x < money: 22 money -= x 23 print(f"{name}您好,{x}元取出成功\n您的余额为{money}元") 24 return True 25 else: 26 print(f"{name}您好,您的余额为{money}元,余额不足,退出程序") 27 return False 28 29 def func4(): 30 print("退出程序") 31 return False 32 33 flag = True 34 while flag == True: 35 print(f"{name}欢迎来到ATM,请输入您的操作") 36 print("查询余额 【1】") 37 print("存款 【2】") 38 print("取款 【3】") 39 print("退出 【4】") 40 x = int(input("请输入您的选择")) 41 if x == 1: 42 flag = func1() 43 if x ==2: 44 flag = func2() 45 if x == 3: 46 flag = func3() 47 if x == 4: 48 flag = func4()
老师版本
函数参数作为是否执行的条件
在while中 用continue和break作为退出循环的依据
1 """ 2 演示函数综合案例开发 3 """ 4 5 # 定义全局变量money name 6 money = 5000000 7 name = None 8 # 要求客户输入姓名 9 name = input("请输入您的姓名:") 10 # 定义查询函数 11 def query(show_header): 12 if show_header: 13 print("-------------查询余额------------") 14 print(f"{name},您好,您的余额剩余:{money}元") 15 16 17 # 定义存款函数 18 def saving(num): 19 global money # money在函数内部定义为全局变量 20 money += num 21 print("-------------存款------------") 22 print(f"{name},您好,您存款{num}元成功。") 23 24 # 调用query函数查询余额 25 query(False) 26 27 # 定义取款函数 28 def get_money(num): 29 global money 30 money -= num 31 print("-------------取款------------") 32 print(f"{name},您好,您取款{num}元成功。") 33 34 # 调用query函数查询余额 35 query(False) 36 # 定义主菜单函数 37 def main(): 38 print("-------------主菜单------------") 39 print(f"{name},您好,欢迎来到黑马银行ATM。请选择操作:") 40 print("查询余额\t[输入1]") 41 print("存款\t\t[输入2]") 42 print("取款\t\t[输入3]") # 通过\t制表符对齐输出 43 print("退出\t\t[输入4]") 44 return input("请输入您的选择:") 45 46 # 设置无限循环,确保程序不退出 47 while True: 48 keyboard_input = main() 49 if keyboard_input == "1": 50 query(True) 51 continue # 通过continue继续下一次循环,一进来就是回到了主菜单 52 elif keyboard_input == "2": 53 num = int(input("您想要存多少钱?请输入:")) 54 saving(num) 55 continue 56 elif keyboard_input == "3": 57 num = int(input("您想要取多少钱?请输入:")) 58 get_money(num) 59 continue 60 else: 61 print("程序退出啦") 62 break # 通过break退出循环
p61
浙公网安备 33010602011771号