Форум сайта python.su
0
Есть файл А, в нем создан клас
class test(Tools): def __init__(self, a, b): self.a = a self.b = str(b) self.c ={ 'some':'some'} def function(self): info['c']=self.template[c]
d=test(a,b)
check=d.function()
info['c']=self.template[c]
NameError: global name 'c' is not defined
Офлайн
568
Почему в __init__ ты пишешь self.c, а в function просто c?
Видимо, не понимаешь смысла self. Это ссылка на экземпляр класса. В глобальном пространсте имен у тебя нет никакой c, она есть как атрибут экземпляра класса test, поэтому обращаться к нужно через ссылку на этот экземпляр, которая в твоём случае есть self.
Офлайн