I came across some weird behaviour about how Python handles global (module) variables and the global
keyword.
Module 1:
g = None
def set_g_up():
global g
g = "foo"
set_g_up()
print g
Module 2:
from module_1 import *
set_g_up()
print g
Module 1 prints, as expected, "foo"
.
Module 2 prints None
!
What? It’s the same object! Or, at least, I expect it to be.