Message 79064 - Python tracker
Yes, the dictionary will always contain "a" afterwards. However, a cleaner way would be to use locals().copy(), or, if you don't need current locals in the exec'd string, just a fresh dict. In scopes not using the optimized locals, there may be some other effects when using the dict returned by locals() directly: * in module scopes, the dictionary returned by locals() is the same as the globals() one * in class scopes, the locals() dict is actually the local scope of the class