File: LP6E/Chapter17/thismod.py

"Change a global three ways"

var = 99                          # Global variable == module attribute

def local():
    var = 0                       # Change local var

def glob1():
    global var                    # Declare global (normal)
    var += 1                      # Change global var

def glob2():
    var = 0                       # Change local var
    import thismod                # Import myself
    thismod.var += 1              # Change global var

def glob3():
    var = 0                              # Change local var
    import sys                           # Import system table
    thismod = sys.modules['thismod']     # Get module object (or use __name__)
    thismod.var += 1                     # Change global var

def test():
    print(var)
    local(); glob1(); glob2(); glob3()
    print(var)



[Home page] Books Code Blog Python Author Train Find ©M.Lutz