关于Python 中嵌套函数的作用域问题

bzwm bzwm 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
看 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关键字的作用,它允许内部函数修改外部函数的变量,解决了默认情况下内部函数不能直接修改外部变量的问题。文章还提供了两个实战案例:带重置功能的计数器和带缓存的计算函数,展示了嵌套函数在实际开发中的应用。最后总结了函数嵌套与作用域的核心知识点,并提供了进阶练习帮助读者巩固所学内容。

q9w8e7r6t5

Python中的函数作用域

在python中,一个函数就是一个作用域。这篇文章重点给大家介绍python中的函数作用域,感兴趣的朋友一起看看吧

weixin_38744778

python 函数嵌套及多函数共同运行知识点讲解

在本篇文章里小编给各位整理的是一篇关于python 函数嵌套及多函数共同运行知识点讲解,需要的朋友们可以学习下。

weixin_38601390

基于Python函数的作用域规则和闭包(详解)

下面小编就为大家分享一篇基于Python函数的作用域规则和闭包详解,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38722891

详解Python函数作用域的LEGB顺序

主要为大家详细介绍了Python函数作用域的LEGB顺序的相关资料,感兴趣的朋友可以参考一下

weixin_38658564
评论 6
收藏 已收藏
分享
返回顶部
bzwm
脚本语言 37,737 成员 34,208 内容