Импорт всегда помещается в верхнюю часть файла сразу после комментариев и док-строк модуля, а также перед глобалями и константами модуля.
Однако, если класс/метод/функция, которую я импортирую, используется только в редких случаях, конечно, более эффективно делать импорт, когда это необходимо?
Разве это не так:
class SomeClass(object):
def not_often_called(self)
from datetime import datetime
self.datetime = datetime.now()
эффективнее этого?
from datetime import datetime
class SomeClass(object):
def not_often_called(self)
self.datetime = datetime.now()