小编Ank*_*nkh的帖子

Python全局变量精神错乱

您有三个文件:main.py,second.py和common.py

common.py

#!/usr/bin/python
GLOBAL_ONE = "Frank"
Run Code Online (Sandbox Code Playgroud)

main.py

#!/usr/bin/python
from common import *
from second import secondTest

if __name__ == "__main__":
    global GLOBAL_ONE
    print GLOBAL_ONE #Prints "Frank"
    GLOBAL_ONE = "Bob"
    print GLOBAL_ONE #Prints "Bob"

    secondTest()

    print GLOBAL_ONE #Prints "Bob"
Run Code Online (Sandbox Code Playgroud)

second.py

#!/usr/bin/python
from common import *

def secondTest():
    global GLOBAL_ONE
    print GLOBAL_ONE #Prints "Frank"
Run Code Online (Sandbox Code Playgroud)

为什么secondTest不使用其调用程序的全局变量?如果事实上并非如此,那么称之为"全球性"的东西有什么意义呢?

为了获得secondTest(或我从main调用的任何外部函数)来识别和使用正确的变量,我缺少什么?

python

13
推荐指数
2
解决办法
3539
查看次数

标签 统计

python ×1