第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()
相关推荐
weixin_4407305030 分钟前
字符编码笔记-utf-8 、unicode、gbk,ascii编码格式
开发语言·笔记
励志不掉头发的内向程序员1 小时前
【从零写一个CAD 03】三个 double 值得单独一个类吗:把视图变换抽成 View
开发语言·c++·qt·学习·系统架构
PHP实战开发录2 小时前
PHP接口大整数为什么变了
开发语言·php
Yolanda_20222 小时前
15.dataloader的使用
python
临床数据科学和人工智能兴趣组5 小时前
在R语言中, 使用 as.factor() 函数转换数值型变量
开发语言·r语言
杨杨杨大侠8 小时前
Jev、Kev、Laya:决策模型怎么选,什么时候需要微调?
人工智能·python·agent
andyweike8 小时前
php笔记
开发语言·笔记·php
LOVE️YOU9 小时前
Python 在定义函数时,究竟定义的是什么?
python
段一凡-华北理工大学9 小时前
大模型应用开发 100 天:Python + LLM 从入门到精通 day26~Prompt 调试与优化——A/B 测试与效果评估
windows·python·大模型·prompt·智能体·提示词工程·高炉智能化
Minecraft红客9 小时前
以撒的结合
python·游戏·电脑·娱乐