为什么 run()函数中可以用 value ???
路过的懂的麻烦解释一波,十分感谢!!!
为什么 run()函数中可以用 value ???
路过的懂的麻烦解释一波,十分感谢!!!
1
Mistwave Sep 17, 2018 via iPhone 了解一下 Python scoping 的 LEGB 法则吧
碰到一个变量,例如 value,会先在本层 Local 作用域搜索,找到了就返回,找不到就会继续向外层搜索~ |
2
monkeylyf Sep 17, 2018 你这里的 value 相当于全局变量
|
3
ClutchBear Sep 17, 2018
main
下面的全局变量 value 改成其他名字 就不会这样了, 碰巧变量名一样而已 |
4
billlee Sep 17, 2018 你这里没有主“函数”啊
|
5
congeec Sep 17, 2018 |
6
congeec Sep 17, 2018
紫红色的__init__和紫色的 self 真骚。我喜欢这配色
|
7
Tyanboot PRO 上面老哥们已经说了,不过我想说的是,你看着这么多下划线的 warning 就真的不头疼?
|
8
rrfeng Sep 17, 2018 via Android ?? 你这不是自己传进去的??
|
9
jingniao Sep 17, 2018 via Android
普通 if 不会形成新作用域,所以 value 是全局变量……
|
10
d18 Sep 18, 2018
你是不是对线程有什么误解,线程本来就是共享数据。
|
12
msg7086 Sep 18, 2018
所以主函数在哪……
|
13
lonisletend OP |
14
wizardforcel Sep 18, 2018 via Android
@Mistwave 读操作是这样。写操作从来都是在当前作用域里写。
|
15
wizardforcel Sep 18, 2018 via Android
@wizardforcel 除非有 global 或者 nonlocal
|