Найти - Пользователи
Полная версия: не могу правильно вызвать метод
Начало » Python для новичков » не могу правильно вызвать метод
1
medelgover
Есть файл А, в нем создан клас
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 во втором файле, но не могу понять как правильно реализовать. Помогите пожалуйста.
FishHook
Почему в __init__ ты пишешь self.c, а в function просто c?
Видимо, не понимаешь смысла self. Это ссылка на экземпляр класса. В глобальном пространсте имен у тебя нет никакой c, она есть как атрибут экземпляра класса test, поэтому обращаться к нужно через ссылку на этот экземпляр, которая в твоём случае есть self.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB