第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()
相关推荐
4SAPI1 小时前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
Pniubi2 小时前
HashMap的扩容和树化边界
java·开发语言
XCDoris3 小时前
郴州logo设计机构
大数据·人工智能·python
gCode Teacher 格码致知4 小时前
Pandas教学-17:Series与Dataframe的关系
开发语言·python·pandas
发量惊人的中年网工4 小时前
分公司访问总部ERP慢怎么办?SD-WAN组网的排查与验收要点
服务器·开发语言·php
下页、再停留4 小时前
【C#桌面客户端系列学习-15】生成可视化图表之折线图、柱状图、饼状图
开发语言·c#
ShineWinsu5 小时前
对于JavaScript:操作元素的解析
开发语言·前端·javascript·面试·web·dom·元素
马良神笔5 小时前
2026 年Rag最近技术前沿总结
后端·python·django
不像程序员的程序媛5 小时前
maven基础
python·pycharm·maven
益莱储中国6 小时前
深度解析:RF 实验室从 5G迈向 6G 的过程中保持技术领先与设备升级的路径
开发语言·php