У вас есть три файла: main.py, second.py и common.py
common.py
#!/usr/bin/python
GLOBAL_ONE = "Frank"
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"
second.py
#!/usr/bin/python
from common import *
def secondTest():
global GLOBAL_ONE
print GLOBAL_ONE #Prints "Frank"
Почему secondTest не использует глобальные переменные своей вызывающей программы? Какой смысл называть что-то "глобальным", если на самом деле это не так??
Что мне не хватает, чтобы получить secondTest (или любую внешнюю функцию, которую я вызываю из main), чтобы распознавать и использовать правильные переменные?