Why?
let's say you have
from a import foo from b import *
what does 'foo' refer to? 'b' could contain 'foo', which would overwrite your previous reference to 'a.foo'. its hard to figure out what 'foo' now refers to from inspecting the code. its better to be explicit:
from a import foo from b import bar, baz
It's especially bad in this case where adding an executable in the system can suddenly shadow any built-in name (e.g. imagine someone adds a "print" or "sys" executable).
somewhat naive example:
>>> time = 'blah'
>>> time
'blah'
>>> from datetime import *
>>> time
<type 'datetime.time'>
>>>--And its not a "global" name space, its just the namespace of your script.--