Функции NameError

Я возился с некоторым кодом, пытаясь создать функцию для планирования работы. Однако я застрял и задавался вопросом, может ли кто-нибудь помочь? благодаря

class Work_plan(object): def __init__(self,hours_work,work_len, work_des): self.hours_work = hours_work self.work_len = work_len self.work_des = work_des work_load = [] hours_worked = [] if hours_worked > hours_work: print "Too much work!" else: work_load.append(work_des) hours_worked.append(work_len) print "The work has been added to your work planning!" work_request = Work_plan(8, 2, "task1") Work_plan print work_load 

он приходит с ошибкой: NameError: имя 'work_load' не определено

Вы определили переменную work_load внутри __init__ класса, поэтому вы не можете получить доступ к ней за пределами этой области.

Если вы хотите иметь доступ к work_load , сделайте его атрибутом для объектов класса Work_plan и получите доступ к нему, выполнив object.work_plan

Например:

 class Work_plan(object): def __init__(self,hours_work,work_len, work_des): self.hours_work = hours_work self.work_len = work_len self.work_des = work_des self.work_load = [] self.hours_worked = [] if hours_worked > hours_work: print "Too much work!" else: self.work_load.append(work_des) self.hours_worked.append(work_len) print "The work has been added to your work planning!" work_request = Work_plan(8, 2, "task1") Work_plan print work_request.work_load