python基础学习笔记第四章

一、函数基础

1. 函数定义

组织好的、可重复使用的、实现特定功能的代码段,Python内置函数:len()print()input()等。

2. 核心好处

提高代码复用性,减少重复代码,提升开发效率。

二、函数的定义与调用

1. 定义语法

cpp 复制代码
def 函数名(传入参数):
    函数体
    return 返回值
  • 参数:可选,无参数则留空

  • 返回值:可选,无返回值可省略return

2. 调用语法

cpp 复制代码
函数名(实际参数)

3. 注意事项

  • 函数先定义,后调用

  • 严格遵守缩进规则

4. 基础案例:自动查核酸

cpp 复制代码
# 定义函数
def check_nucleic_acid():
    print("欢迎到访!")
    print("请出示您的健康码以及72小时核酸证明!")
# 调用函数
check_nucleic_acid()

三、函数的参数

1. 作用

函数运行时,接收外部传入的数据,让函数功能更灵活。

2. 形参与实参

  • 形参:函数定义时的参数(形式上的参数)

  • 实参:函数调用时的参数(实际传入的数值)

3. 语法示例

cpp 复制代码
# 定义:x和y是形参
def add(x, y):
    result = x + y
    print(f"{x}+{y}的结果是:{result}")
# 调用:5和6是实参
add(5, 6)  # 结果:5+6的结果是:11

4. 注意事项

  • 参数数量不限,用逗号分隔

  • 实参与形参一一对应

5. 案例:升级版查核酸(传入体温参数)

cpp 复制代码
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. 语法示例

cpp 复制代码
def add(x, y):
    result = x + y
    return result  # 返回计算结果
# 接收返回值
res = add(3, 4)
print(res)  # 结果:7

3. 注意事项

  • return后代码不再执行

  • return的函数,默认返回None

4. None类型

  • 类型:NoneType,表示空、无意义

  • 触发场景:函数无return/主动return None

  • 应用场景:if判断(None等同于False)、定义空变量

cpp 复制代码
# 案例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. 定义语法

cpp 复制代码
def 函数名(参数):
    """
    函数功能说明
    :param 参数1: 参数1的解释
    :param 参数2: 参数2的解释
    :return: 返回值的解释
    """
    函数体
    return 返回值

3. 示例

cpp 复制代码
def add(x, y):
    """
    两数相加的功能
    :param x: 相加的第一个数字
    :param y: 相加的第二个数字
    :return: 两个数字相加的结果
    """
    return x + y
# 鼠标悬停add()可查看说明文档
add(1,2)

六、函数的嵌套调用

1. 定义

在一个函数内部,调用另一个函数。

2. 执行流程

执行到调用语句时,先完成被调用函数的全部执行,再回到原函数继续执行。

3. 示例

cpp 复制代码
def func_b():
    print("---2---")
def func_a():
    print("---1---")
    func_b()  # 嵌套调用func_b
    print("---3---")
# 调用
func_a()
# 执行结果:
# ---1---
# ---2---
# ---3---

七、变量的作用域

变量的生效范围,分为局部变量全局变量

1. 局部变量

  • 定义:函数体内部定义的变量

  • 作用域:仅函数内部可用,函数调用结束后自动销毁

  • 示例

    cpp 复制代码
    def testA():
        num = 100
        print(num)  # 正常执行:100
    testA()
    # print(num)  # 报错:name 'num' is not defined

2. 全局变量

  • 定义:函数体外部定义的变量

  • 作用域:函数内、外均可使用

  • 示例

    cpp 复制代码
    num = 100  # 全局变量
    def testA():
        print(num)  # 内部访问:100
    def testB():
        print(num)  # 内部访问:100
    testA()
    testB()
    print(num)  # 外部访问:100

3. global关键字

  • 作用:在函数内部声明变量为全局变量,实现对全局变量的修改

  • 示例

    cpp 复制代码
    num = 100
    def testB():
        global num  # 声明num为全局变量
        num = 200
        print(num)  # 结果:200
    testB()
    print(num)  # 结果:200(全局变量被修改)

八、综合案例:简易ATM系统

cpp 复制代码
# 定义全局变量
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()
相关推荐
电商API&Tina2 小时前
淘宝商品视频的采集需要注意哪些问题||item_video-获得淘宝商品视频
大数据·网络·数据库·人工智能·python·音视频
【数据删除】3482 小时前
计算机复试学习笔记 Day44
笔记·学习
唐叔在学习2 小时前
Python桌面端应用消息提醒功能开发实践
后端·python·程序员
星幻元宇VR2 小时前
VR地震科普学习机|沉浸式防震减灾新体验
学习·安全·vr·虚拟现实
無限進步D2 小时前
差分算法 cpp
c++·算法·蓝桥杯·竞赛
程序员小远2 小时前
单元测试知识详解
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
数形长夏2 小时前
一心多用的艺术:Python多任务处理模式
python·架构
biter down2 小时前
C++ 精准控制对象的创建位置(堆 / 栈)
开发语言·c++
星轨初途2 小时前
类和对象(上)
开发语言·c++·经验分享·笔记