第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()
相关推荐
Irene19912 小时前
配置 PyCharm(汉化版操作指南)
python·pycharm
7年前端辞职转AI2 小时前
Python 错误和异常处理
python·编程语言
7年前端辞职转AI2 小时前
Python 面向对象编程
python·编程语言
隔山打牛牛2 小时前
Spring的两大核心
java·开发语言
皮卡蛋炒饭.2 小时前
Linux进程信号
开发语言·c++
kishu_iOS&AI2 小时前
机器学习 —— 总结
人工智能·python·机器学习·线性回归
API快乐传递者2 小时前
Python 爬虫获取 1688 商品详情 API 接口实战指南
java·前端·python
疯狂成瘾者2 小时前
LangChain Middleware 技术解析:从“插槽机制”到 Agent 运行时控制
数据库·python·langchain
报错小能手2 小时前
ios开发方向——swift并发进阶核心 Task、Actor、await 详解
开发语言·学习·ios·swift