Уведомления

Группа в Telegram: @pythonsu

#1 Май 1, 2014 10:35:12

medelgover
Зарегистрирован: 2013-09-20
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

не могу правильно вызвать метод

Есть файл А, в нем создан клас

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]

В другом файле я вызываю function следующим образом
d=test(a,b)
check=d.function()

на что получаю ошибку
    info['c']=self.template[c]
NameError: global name 'c' is not defined

Я понимаю что данная переменная не передается по self во втором файле, но не могу понять как правильно реализовать. Помогите пожалуйста.

Офлайн

#2 Май 1, 2014 11:11:13

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

не могу правильно вызвать метод

Почему в __init__ ты пишешь self.c, а в function просто c?
Видимо, не понимаешь смысла self. Это ссылка на экземпляр класса. В глобальном пространсте имен у тебя нет никакой c, она есть как атрибут экземпляра класса test, поэтому обращаться к нужно через ссылку на этот экземпляр, которая в твоём случае есть self.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version