2013-03-10 2 views
0

Я хочу создать объект Node внутри сценария и использовать его в переменной экземпляра. В приведенном ниже коде строка root = Node('') дает мне ошибку, указав неопределенный переменный узел.экземпляр класса в скрипте python

if __name__ == '__main__': 
    #url = '' 
    #processWords(url) 
    currentWord = [] 
    root = Node('') 
    curr = root 
    words = ['adelaide', 'ahmedabad', 'calcutta', 'california', 'chicago', 'chennai', 'delhi', 'dubai', 'melbourne', 'mumbai'] 
    process(words) 
    play() 

class Node: 
    def __init__(self, char): 
     self.char = char 
     self.children = set() 

ответ

2

Вам нужно определить Nodeперед тем вы пытаетесь использовать его.

+0

спасибо! Я должен подождать 10 минут, прежде чем я смогу принять ваш ответ. Кроме того, как/где я объявляю переменные, которые хочу быть доступными любым методом (например, переменной экземпляра)? – tldr

+0

Вы уже сделали это с помощью 'self.char' и' self.children'. –

+0

Я имел в виду в сценарии. Например, переменная переменная задается в основной функции. Но когда я использую его в методе, я получаю сообщение об ошибке: локальная переменная «curr», на которую ссылается перед назначением. Он считает, что переменная является локальной переменной, когда я хочу, чтобы она была «экземпляром» variabel. – tldr

Смежные вопросы