2016-05-31 3 views
-4

я получаюNameError: глобальное имя «х» не определен

NameError: global name 'Ontologia' is not defined 

Класс Ontologia определяется на ontologia.py и я также использовал

import ontologia 

Это линия, которая я «получаю проблему

onto = Ontologia() 

полный код ontologia.py здесь:

class Ontologia(object): 

def __init__(self, name, key, left=None, right=None): 
    self.name = name 
    self.key = key 
    self.left = left 
    self.right = right 
+2

Попробуйте либо (но не оба) 'от ontologia импорта Ontologia', или' на = ontologia.Ontologia() '. – wflynny

+1

Пожалуйста, ответьте в ответ, поэтому OP может принять его, я могу проголосовать за него, и мир может знать, что на этот вопрос был дан ответ. –

+0

Спасибо, он работает. Есть ли способ импортировать весь модуль? –

ответ

3

Оператор Python import немного отличается от инструкции Java import.

Можно импортировать каждое публичное имя из модуля. Если вам интересно, documentation of the import statement точно определяет, что такое «публичное имя». Например:

from ontologia import * 
onto = Ontologia() # name 'Ontologia' is defined now 

В общем, не рекомендуется использовать эту форму, потому что не ясно, какое имя было определено какой import заявление. Программисты Python любят быть явными.

Лучше:

from ontologia import Ontologia 
onto = Ontologia() # name 'Ontologia' is defined now 

Или:

import ontologia 
onto = ontologia.Ontologia()