【问题标题】:Functions NameError函数名称错误
【发布时间】:2015-05-21 19:34:52
【问题描述】:

我一直在搞乱一些代码,试图创建一个用于工作计划的函数。但是我被困住了,想知道是否有人可以提供帮助?谢谢

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: name 'work_load' 没有定义

【问题讨论】:

    标签: python nameerror function


    【解决方案1】:

    您在类的__init__ 内定义了变量work_load,因此您无法在此范围之外访问它。

    如果您想访问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
    

    【讨论】:

    • 感谢您的回复!当我使用您的代码时,它会出现: Traceback(最近一次调用最后一次):文件“w.p_suggested_answer.py”,第 16 行,在 work_request = Work_plan(8, 2, "task1") 文件“w .p_suggested_answer.py",第 9 行,在 init if hours_worked > hours_work: NameError: global name 'hours_worked' is not defined
    • @Mrv 每次都使用self.hours_work 代替hours_work,并且self.hours_worked 代替self.hours_worked
    • 谢谢!如果没有你的帮助,我会放弃的。
    • @Mrv 如果对您有帮助,请不要忘记接受答案作为最佳答案:)!干杯
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 2017-03-01
    相关资源
    最近更新 更多