函数NameError [英] Functions NameError

查看:137
本文介绍了函数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
$ b work_load = []
hours_worked = []
hours_worked > hours_work:
print工作太多!
else:
work_load.append(work_des)
hours_worked.append(work_len)
print工作已经添加到您的工作计划中!

work_request = Work_plan(8,2,task1)
Work_plan
print work_load

它出现错误:
NameError:名称'work_load'未定义

解决方案你在类的 __ init __ 中定义了变量 work_load ,所以你不能访问它如果你想访问 work_load ,使它成为<$ $的对象的一个​​属性。



c $ c> 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 = [ ]
如果hours_worked> hours_work:
print工作太多!
else:
self.work_load.append(work_des)
self.hours_worked.append(work_len)
print工作已经添加到您的工作计划中!

work_request = Work_plan(8,2,task1)
Work_plan
print work_request.work_load


I have been messing around with some code, trying to create a function for work planning. However I am stuck and wondered if someone could help? Thanks

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

it comes up with the error: NameError: name 'work_load' is not defined

解决方案

You defined the variable work_load inside the __init__ of the class, so you can't access it outside this scope.

If you want to have access to work_load, make it an attribute for objects of Work_plan class, and the access it by doing object.work_plan

For example:

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

这篇关于函数NameError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆