第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()