# Program to demonstrate scope def main(): value = 99 # local variable print 'In main before call: value is', value change_me(value) print 'Back in main after change_me: value is', value value = more_change(value, value) print 'Back in main after more_change: value is', value def change_me(arg): def more_change(arg2, arg3): print 'In local more_change: arg2 is', arg2, 'and arg3 is', arg3 arg = value + arg2 print 'In local more_change: value is', value return arg3 + 100 value = 10 # local variable print 'In change_me: I am changing the formal param.' arg = 0 print 'In change_me: arg is', arg, 'and value is', value value = more_change(value, arg) print 'Back in change_me: arg is', arg, 'and value is', value def more_change(arg, arg2): print 'In more_change: value is', value print 'In more_change: arg is', arg, 'and arg2 is', arg2 arg = arg2 print 'In more_change: arg is', arg, 'and arg2 is', arg2 return arg2 * 5 #Global variable value = 5 # Call the main function. main() print 'after main call: value is', value