In Python 2.1: >>> b=10 >>> a="b=b+11" >>> def f(p): exec p print a print b >>> f(a) b=b+11 21 >>> b 10 >>> When exec "b=b+11", python can find the second b (10), why it generate another b? Cheers, Xiao-Qin Xia