这个为什么会报错啊
python3吧
全部回复
仅看楼主
level 1
这个为啥会报错,把函数里i的赋值注释掉就正常了,程序不是一步步执行的吗,为什么后面i的赋值会影响前面的g函数,求大佬指点[泪]
2021年11月05日 07点11分 1
level 8
python检索变量的顺序是 局部作用域 -> 闭包函数外函数中 -> 全局作用于 -> 内建作用域,这里的i=6属于全局作用域,g()属于闭包函数,i=10属于外函数内闭包函数之外区域,所以按照顺序首先检索到了后面有i这个变量,但是还没有定义(代码还没执行到那里)就使用了,或者说你想从一开始就作用于全局域,可以用global在函数内提前声明
2021年11月05日 08点11分 2
这些大佬,感觉通透了[哈哈]
2021年11月05日 13点11分
level 7
要先检查语法啊
2021年11月05日 09点11分 3
level 7
可以一起自学python,自学qq群:379060946
FuturePython为原创义务免费视频,包括python基础、python爬虫、mysql系列、django系列等,不存在任何经济利益,课程地址:https://space.bilibili.com/1663262478,喜欢的同学可以关注一下。官方论坛:https://futurepy.com
课程制作者QQ:3480689255,可以提供指导
2021年11月09日 14点11分 4
1