Zamiast używania globalnych zmiennych, polecam zagłębić się w OOP (Object-Oriented-Programming). Wszystko co byś sobie nie wymyślił do zrobienia z globalnymi zmiennymi, można zrobić lepiej i czytelniej dzięki odpowiedniej klasie :)
Zaś odpowiadając na problem, i nie zważając na wszelkie za/przeciw:
#Metoda 1
import sys
GLOBAL_VAR = None
def foo():
print(GLOBAL_VAR)
def main():
global GLOBAL_VAR
GLOBAL_VAR = "Wolnosc kocham i rozumiem. Wolnosci oddac nie umiem."
foo()
main()
#Metoda 2
import sys
def foo():
global GLOBAL_VAR
print(GLOBAL_VAR)
def main():
global GLOBAL_VAR
GLOBAL_VAR = "Wolnosc kocham i rozumiem. Wolnosci oddac nie umiem."
foo()
main()
#Metoda 3
import sys
GLOBAL_VAR = "Wolnosc kocham i rozumiem. Wolnosci oddac nie umiem."
def foo():
print(GLOBAL_VAR)
def main():
global GLOBAL_VAR #~ To tylko jeśli chcesz ją tutaj zmodyfikować
foo()
main()
Z połączenia tych metod też powstają jeszcze pośrednie. Żadnej nie polecam!
Może napisz nam jaki jest twój problem w większej skali, wtedy coś będziemy w stanie doradzić sensownego :).