What does the interpreter do in these cases?
from xyz import Abcfrom xyz import *
Does it has to parse the full file xyz.py anyway? Should one way be faster then the other? Or is it merely a matter of readability that people prefer the first approach to the second?
It should not make any difference performance-wise, because the entire module has to be processed either way.
The difference is one of readability, and pollution of namespaces. To minimize the chances of name-clashes, and unexpected behavior due to name-hiding, it is prudent to only import those objects that you are actually using.
from Martijn Pieters: