Python импортирует модуль только в один класс

Я пытаюсь получить модуль для импорта, но только если вызывается объект определенного класса. Например:

class One(object):
    try:
        import OneHelper
    except ImportError:
        pass
    def __init__(self):
        # this function doesn't use OneHelper
        ...

    def blah(self):
        # this function does
        OneHelper.blah()

Это вызывает NameError: глобальное имя OneHelper не определено при вызове функции One.blah () . Пока что единственное, что я обнаружил, что работает, - это импорт модуля в фактические функции, которые его используют. Итак:

class One(object):
    def __init__(self):
        # this function doesn't use OneHelper
        ...

    def blah(self):
        try:
            import OneHelper
        except ImportError:
            pass
        # this function does
        OneHelper.blah()

Но я не хочу импортировать модуль в каждую функцию, в которой я хочу его использовать, я хочу, чтобы он был доступен для всего класса, но только , если экземпляр этот класс создается. Приносим извинения, если я недостаточно ясен ...

5
задан 19 December 2010 в 05:23
поделиться