第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()
相关推荐
linweidong37 分钟前
中科闻歌Java面试题及参考答案
java·python·大模型·提示词·ai agent·mcp·rag原理
OpenAnolis小助手43 分钟前
一句话看透 JVM,SysOM 诊断 Skill 新增 Java 应用诊断能力
java·开发语言·jvm·阿里云·操作系统控制台·sysom
小玮看世界1 小时前
[Python]OD算法在OD实际运用转化参考清单
开发语言·python·算法
萧鼎1 小时前
2026实战:用 tomlkit 优雅读写 TOML 配置,告别手写解析器
python·开源·教程·python库
ForteScarlet1 小时前
Kotlin 2.4.20 现已发布,新特性多不多?
android·java·开发语言·开源·kotlin·jetbrains
萧瑟余晖1 小时前
Java深入解析篇六十二之安全机制详解
java·开发语言
小刘在重生~2 小时前
Java 常用类|包装类 装箱拆箱、Integer 缓存面试题
java·python·缓存
2601_962099462 小时前
Python xlwt设置excel单元格字体及格式
python·excel·xlwt·样式设置·单元格格式
菜鸟~noob2332 小时前
【电子战】 第01篇:噪声、门限与虚警/检测概率(PFA/PD)【含matlab代码】
开发语言·matlab
奇牙coding1232 小时前
GPT-6-Astra API 接入教程:OpenRouter 路由配置 + Python/curl 示例 + 静默降级踩坑
开发语言·python·gpt·ai