gpt4 book ai didi

python - 导入时奇怪的全局变量行为

转载 作者:太空宇宙 更新时间:2023-11-03 14:46:04 24 4
gpt4 key购买 nike

<分区>

是的:我知道我们不应该在 Python 中使用全局变量,但我正在尝试理解这种行为。

我有一个名为 bug.py 的文件:

x = 0


def foo():
global x
x = 100


if __name__ == '__main__':
foo()
print(x)

当我将其作为文件执行时,我得到了 100 的预期结果,请参见下文。

(mani) franz@ubuntu:~/dropboxpython/poolparty$ python bug.py
100

但是,当我在 repl 中做同样的事情时,x 不会变成 100,见下文

(mani) franz@ubuntu:~/dropboxpython/poolparty$ python
Python 3.6.4 | packaged by conda-forge | (default, Dec 23 2017, 16:31:06)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from bug import *
>>> x
0
>>> foo()
>>> x
0

为什么会这样?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com