This is one of those semi-religious Python questions that I suspect has well reasoned responses lurking in the community. I've seen some Python programmers use the following style fairly consistently (we'll call it style 1):
import some_module
# Use some_module.some_identifier in various places.
For support of this style you can cite the "explicit is better than implicit" maxim. I've seen other programmers use this style (style 2):
from some_module import some_identifier
# Use some_identifier in various places.
The primary benefit that I see in style 2 is maintainability -- especially with duck typing ideals I may want to swap some_module for some_other_module. I also feel style 2 wins points with the "readability counts" maxim. Although I tend to disagree, one can always argue that search-and-replace is just as good an option when using the first style.
Addendum: It was noted that you could use as
to solve the switch from some_module
to some_other_module
in style 1. I forgot to mention that it is also common to decide to implement some_identifier
in your current module, which makes creation of an equivalent some_module
container slightly awkward.