class Example: completed = False def is_completed(self): if self.completed is False: return 'Not completed' else: return 'Completed' def completed(self): self.completed = True def status(self): return self.completed example = Example() print "Request 1: %s " % example.completed example.completed() print "Request 2: %s " % example.completed print "Request 3: %s " % example.is_completed()
Но совершенно не понятна логика выполния.
При первом обращении к переменной ругается, а если эту переменную изменить в функции, то уже ошибки нет.
Request 1: <bound method Example.completed of <__main__.Example instance at 0x7f64e5f82248>> Request 2: True Request 3: Completed
Т.е. при создании класса, мне надо в нем инициализировать паблик переменные с дефолтными значениями.
