...[*][*]
If the code block contains exec statement or the construct from ... import *, the semantics of names not explicitly mentioned in a global statement change subtly: name lookup first searches the local name space, then the global one, then the built-in one.