热门

最新

红包

立Flag

投票

同城

我的

发布
qq_58309598
dsx08
5 年前
trueqq_58309598

请问为什么代码 A 没有报错,但代码 B 却报错了?(我就是做个笔记,云储存一下)



代码A

def outside():
var = 5
def inside():
var = 3
print(var)

inside()

outside()


代码B

def outside():
var = 5
def inside():
print(var)
var = 3

inside()
outside()




报错的内容是:UnboundLocalError: local variable 'var' referenced before assignment,说的是变量 var 没有被定义就拿来使用。这里 outside() 函数里有一个 var 变量,但要注意的是,内嵌函数 inside() 也有一个同名的变量,Python 为了保护变量的作用域,故将 outside() 的 var 变量屏蔽起来,因此此时是无法访问到外层的 var 变量的

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
立即登录