第9章 函数-9.7 函数嵌套

Python支持函数嵌套,函数嵌套指的是在当前函数内再创建另外一个函数。

函数在进行嵌套之后,需要注意4点,一是内层函数可以访问外层函数中的所有变量,但不能修改外层函数中该变量的值;二是外层函数可以访问内层函数中的全局变量,但不能修改内层函数中该变量的值;三是外层函数不能访问内层函数的局部变量;四是不能在外层函数之外直接访问内层函数。示例代码如下:

复制代码
# 资源包\Code\chapter9\9.7\0929.py

name = 'Python全栈开发-基础入门'

def myFunc():

    global teach

    teach = 'Python'

    age = 35

    def otherMyFunc():

        global other_name

        other_name = 'Python全栈开发-高阶编程'

        other_age = 66

        # 内层函数可以访问外层函数中所有的变量

        print(f'访问外层变量age:{age}和teach:{teach}')

        # 报错,内层函数不可以修改外层函数中变量的值

        age += 10

        print(age)

    otherMyFunc()

    # 外层函数可以访问内层函数中的全局变量

    print(f'访问内层变量other_name:{other_name}')

    # 报错,外层函数不可以修改内层函数中的全局变量

    other_name += 'Python全栈开发-数据分析'

    print(f'访问内层变量other_name:{other_name}')

    # 报错,外层函数不可以访问内层函数中的局部变量

    print(f'访问内层变量other_age:{other_age}')

    return None

myFunc()

# 报错,在外层函数之外,不能直接访问内层函数

otherMyFunc()
相关推荐
花酒锄作田14 小时前
Pydantic校验配置文件
python
hboot14 小时前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
ZhengEnCi1 天前
P2M-Matplotlib折线图完全指南-从数据可视化到趋势分析的Python绘图利器
python·matlab·数据可视化
ZhengEnCi1 天前
P2L-Matplotlib饼图完全指南-从数据可视化到图表定制的Python绘图利器
python·matlab
曲幽1 天前
你的REST接口还在“过度投喂”数据吗?——FastAPI + GraphQL实战避坑指南
python·fastapi·web·graphql·route·cors·rest·strawberry
用户8358086187911 天前
基于 Self-RAG 与列表级重排序的进阶 RAG 系统设计与实现
python
Warson_L2 天前
Python `Annotated` 与 LangGraph Reducer 学习笔记
python
韩师傅2 天前
海天线算法的前世今生
python·计算机视觉
韩师傅2 天前
当你的甲方设备过烂,要如何快速出效果?
python·计算机视觉
Warson_L2 天前
LangGraph的MessageState and HumanMessage
python