Python: импорт функции в классе - PullRequest
0 голосов
/ 29 марта 2020

В настоящее время я пишу два класса: TreeBuilder и Code c. Оба кодируются в «код c .py». В TreeBuilder я хочу использовать функцию под названием route, которая закодирована в другом файле (route.py). Маршрут является рекурсивной функцией. Я пытаюсь импортировать маршрут в TreeBuilder следующим образом:

class TreeBuilder :
    from route import route

    def tree(self):
        ....
        self.tree = route(self.tree)

Я использую командную строку и введите:

from codec import Treebuilder, Codec

Но когда я создаю объект TreeBuilder и пытаюсь использовать self.tree () , Я получаю эту ошибку:

NameError: name 'route' is not defined

Как мне импортировать функцию маршрута, чтобы перестать иметь эту ошибку?

1 Ответ

0 голосов
/ 29 марта 2020

Я не вижу четкой причины, почему вы хотели бы сделать это, но один из способов был бы:

class TreeBuilder :
    route = __import__("route").route

    def tree(self):
        ....
        self.tree = TreeBuilder.route(self.tree)
...