Given this code : # Experience with frame import sys import inspect def foo(): stack = inspect.stack() print "foo frame : " + str(hex(id(sys._getframe())))
def foo2(): inspect.stack() print "foo2 frame : " + str(hex(id(sys._getframe()))) def bar(): print "bar frame : " + str(hex(id(sys._getframe()))) foo() foo() foo2() foo2() bar() bar() Output example : foo frame : 0x84d2c0 foo frame : 0x844bf0 foo2 frame : 0x898c90 foo2 frame : 0x898c90 bar frame : 0x898f70 bar frame : 0x898f70 Why are the ids (address) of the frame for each foo call not the same? Or why the call to "stack = inspect.stack()" change the address of the frame? -- http://mail.python.org/mailman/listinfo/python-list