python基础学习笔记第四章
一、函数基础
1. 函数定义
组织好的、可重复使用的、实现特定功能的代码段,Python内置函数:len()、print()、input()等。
2. 核心好处
提高代码复用性,减少重复代码,提升开发效率。
二、函数的定义与调用
1. 定义语法
def 函数名(传入参数): 函数体 return 返回值参数:可选,无参数则留空
返回值:可选,无返回值可省略
return
2. 调用语法
函数名(实际参数)3. 注意事项
函数先定义,后调用
严格遵守缩进规则
4. 基础案例:自动查核酸
# 定义函数 def check_nucleic_acid(): print("欢迎到访!") print("请出示您的健康码以及72小时核酸证明!") # 调用函数 check_nucleic_acid()三、函数的参数
1. 作用
函数运行时,接收外部传入的数据,让函数功能更灵活。
2. 形参与实参
形参:函数定义时的参数(形式上的参数)
实参:函数调用时的参数(实际传入的数值)
3. 语法示例
# 定义:x和y是形参 def add(x, y): result = x + y print(f"{x}+{y}的结果是:{result}") # 调用:5和6是实参 add(5, 6) # 结果:5+6的结果是:114. 注意事项
参数数量不限,用逗号分隔
实参与形参一一对应
5. 案例:升级版查核酸(传入体温参数)
def check_nucleic_acid(temperature): print("欢迎到访!请出示您的健康码以及72小时核酸证明,并配合测量体温!") if temperature <= 37.5: print(f"体温测量中,您的体温是:{temperature}度,体温正常请进!") else: print(f"体温测量中,您的体温是:{temperature}度,需要隔离!") # 调用 check_nucleic_acid(37.3) check_nucleic_acid(39.3)四、函数的返回值
1. 定义
函数执行完成后,返回给调用者的结果,通过return关键字实现。
2. 语法示例
def add(x, y): result = x + y return result # 返回计算结果 # 接收返回值 res = add(3, 4) print(res) # 结果:73. 注意事项
return后代码不再执行无
return的函数,默认返回None
4. None类型
类型:
NoneType,表示空、无意义触发场景:函数无
return/主动return None应用场景:if判断(
None等同于False)、定义空变量
# 案例1:无返回值函数 def say_hello(): print("Hello..") res = say_hello() print(res) # 结果:None # 案例2:None用于if判断 def check_age(age): if age > 18: return "SUCCESS" return None result = check_age(5) if not result: print("未成年,不可进入") # 结果:未成年,不可进入 # 案例3:定义空变量 name = None五、函数说明文档
1. 作用
解释函数功能,方便他人/自己理解代码,鼠标悬停可查看。
2. 定义语法
def 函数名(参数): """ 函数功能说明 :param 参数1: 参数1的解释 :param 参数2: 参数2的解释 :return: 返回值的解释 """ 函数体 return 返回值3. 示例
def add(x, y): """ 两数相加的功能 :param x: 相加的第一个数字 :param y: 相加的第二个数字 :return: 两个数字相加的结果 """ return x + y # 鼠标悬停add()可查看说明文档 add(1,2)六、函数的嵌套调用
1. 定义
在一个函数内部,调用另一个函数。
2. 执行流程
执行到调用语句时,先完成被调用函数的全部执行,再回到原函数继续执行。
3. 示例
def func_b(): print("---2---") def func_a(): print("---1---") func_b() # 嵌套调用func_b print("---3---") # 调用 func_a() # 执行结果: # ---1--- # ---2--- # ---3---七、变量的作用域
变量的生效范围,分为局部变量和全局变量。
1. 局部变量
定义:函数体内部定义的变量
作用域:仅函数内部可用,函数调用结束后自动销毁
示例
def testA(): num = 100 print(num) # 正常执行:100 testA() # print(num) # 报错:name 'num' is not defined
2. 全局变量
定义:函数体外部定义的变量
作用域:函数内、外均可使用
示例
num = 100 # 全局变量 def testA(): print(num) # 内部访问:100 def testB(): print(num) # 内部访问:100 testA() testB() print(num) # 外部访问:100
3. global关键字
作用:在函数内部声明变量为全局变量,实现对全局变量的修改
示例
num = 100 def testB(): global num # 声明num为全局变量 num = 200 print(num) # 结果:200 testB() print(num) # 结果:200(全局变量被修改)
八、综合案例:简易ATM系统
# 定义全局变量 money = 5000000 name = input("请输入您的姓名:") # 定义查询余额函数 def check_balance(): print(f"-------查询余额---------") print(f"{name},您好,您的余额剩余:{money}元") # 定义存款函数 def deposit(): print(f"---------存款---------") depo = int(input("请输入存款金额:")) global money # 声明修改全局变量 money += depo print(f"{name},您好,您存款{depo}元成功") print(f"{name},您好,您的余额剩余:{money}元") # 定义取款函数 def withdraw(): print(f"---------取款---------") withd = int(input("请输入取款金额:")) global money if withd > money: print("余额不足,取款失败") else: money -= withd print(f"{name},您好,您取款{withd}元成功") print(f"{name},您好,您的余额剩余:{money}元") # 定义主菜单函数 def main_menu(): while True: print(f"--------主菜单----------") print(f"{name},您好,欢迎使用ATM自助服务。请选择操作:") print("查询余额[输入1]") print("存款 [输入2]") print("取款 [输入3]") print("退出 [输入4]") choice = input("请输入您的选择:") if choice == "1": check_balance() elif choice == "2": deposit() elif choice == "3": withdraw() elif choice == "4": print("程序退出,感谢使用!") break else: print("输入错误,请重新选择!") # 调用主菜单 main_menu()