关于Python 中嵌套函数的作用域问题
看 Python 入门 一书,
有一个例子,
书上的意思是:这段代码不会工作。
解释是:在inner函数的内部,名字inner是不可见的。
因为inner没有对outer作用域的访问权限,所以从inner到inner的访问是失败的,而且会抛出一个异常。
但我实际运行时,可以正常工作。
我用的是Python2.6。
是不是我看的书太旧了,而现在Python已经对这块内容做了修改了?
望指教!
有一个例子,
def outer( x ):
def inner( i ): #在outer局部赋值
print i
if i : inner(i - 1)
inner( x )
outer(3)
书上的意思是:这段代码不会工作。
解释是:在inner函数的内部,名字inner是不可见的。
因为inner没有对outer作用域的访问权限,所以从inner到inner的访问是失败的,而且会抛出一个异常。
但我实际运行时,可以正常工作。
我用的是Python2.6。
是不是我看的书太旧了,而现在Python已经对这块内容做了修改了?
望指教!
...全文
相关推荐
Python函数嵌套与作用域[源码]
本文详细介绍了Python中函数嵌套的概念及其作用域规则,重点讲解了内部函数如何访问和修改外部函数的变量。通过多个示例代码,展示了函数嵌套的基本语法、典型应用以及常见误区。特别强调了nonlocal关键字的作用,它允许内部函数修改外部函数的变量,解决了默认情况下内部函数不能直接修改外部变量的问题。文章还提供了两个实战案例:带重置功能的计数器和带缓存的计算函数,展示了嵌套函数在实际开发中的应用。最后总结了函数嵌套与作用域的核心知识点,并提供了进阶练习帮助读者巩固所学内容。
Python中的函数作用域
在python中,一个函数就是一个作用域。这篇文章重点给大家介绍python中的函数作用域,感兴趣的朋友一起看看吧
python 函数嵌套及多函数共同运行知识点讲解
在本篇文章里小编给各位整理的是一篇关于python 函数嵌套及多函数共同运行知识点讲解,需要的朋友们可以学习下。
基于Python函数的作用域规则和闭包(详解)
下面小编就为大家分享一篇基于Python函数的作用域规则和闭包详解,希望对大家有所帮助。一起跟随小编过来看看吧
详解Python函数作用域的LEGB顺序
主要为大家详细介绍了Python函数作用域的LEGB顺序的相关资料,感兴趣的朋友可以参考一下


