Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.5.2名称错误_Python_Python 3.x - Fatal编程技术网

Python 3.5.2名称错误

Python 3.5.2名称错误,python,python-3.x,Python,Python 3.x,我已经声明了我的类Customer,并试图从类实例中提取数据,我的方法get\u place\u in\u queue工作正常,但当我运行get\u nr\u差事时,它会出现错误: "name 'nr_errands' is not defined" 到目前为止,我的代码是: class Customer: def __init__(self,index_number,place_in_queue,nr_errands): self.index_number=index

我已经声明了我的类
Customer
,并试图从类实例中提取数据,我的方法
get\u place\u in\u queue
工作正常,但当我运行
get\u nr\u差事
时,它会出现错误:

"name 'nr_errands' is not defined"
到目前为止,我的代码是:

class Customer:
    def __init__(self,index_number,place_in_queue,nr_errands):
        self.index_number=index_number
        self.place_in_queue=place_in_queue
        self.nr_errands=nr_errands

    def get_place_in_queue(self):
        return place_in_queue

    def get_index_number(self):
        return index_number

    def get_nr_errands(self):
        return nr_errands
test=Customer(2,4,5)
test.get_nr_errands()

您忘记了使用
self
访问实例变量。你需要:

class Customer:
    def __init__(self,index_number,place_in_queue,nr_errands):
        self.index_number=index_number
        self.place_in_queue=place_in_queue
        self.nr_errands=nr_errands

    def get_place_in_queue(self):
        return self.place_in_queue # <-- here

    def get_index_number(self):
        return self.index_number  # <-- here

    def get_nr_errands(self):
        return self.nr_errands  # <-- here
class客户:
定义初始(self、索引编号、在队列中的位置、差事):
self.index\u number=索引号
self.place_in_队列=place_in_队列
self.nr\u差事=nr\u差事
def get_place_在_队列中(自我):

返回self.place_in_queue#您忘记使用
self
访问实例变量。你需要:

class Customer:
    def __init__(self,index_number,place_in_queue,nr_errands):
        self.index_number=index_number
        self.place_in_queue=place_in_queue
        self.nr_errands=nr_errands

    def get_place_in_queue(self):
        return self.place_in_queue # <-- here

    def get_index_number(self):
        return self.index_number  # <-- here

    def get_nr_errands(self):
        return self.nr_errands  # <-- here
class客户:
定义初始(self、索引编号、在队列中的位置、差事):
self.index\u number=索引号
self.place_in_队列=place_in_队列
self.nr\u差事=nr\u差事
def get_place_在_队列中(自我):

return self.place#u in#u queue#应该是
return(self.nr_差事)
nr\u差事
是在
\uuu init\uuuu
中的实例上设置的,您需要通过
self
获取它。对于其余部分也是如此。非常确定
get\u place\u in_queue
不起作用,除非您碰巧还有一个名为
place\u in_queue
的全局变量。当然,您实际上根本不需要这些方法中的任何一种。不要将parens与
return
一起使用,这表明它们有效果。只需
返回self.nr\u差事
。您应该修复
\uuuu init\uuuu
方法中的代码缩进。应该是
返回(self.nr\u差事)
nr\u差事
是在
\uuu init\uuuu
中的实例上设置的,您需要通过
self
获取它。对于其余部分也是如此。非常确定
get\u place\u in_queue
不起作用,除非您碰巧还有一个名为
place\u in_queue
的全局变量。当然,您实际上根本不需要这些方法中的任何一种。不要将parens与
return
一起使用,这表明它们有效果。只需
返回self.nr\u差事
。您应该修复
\uuuuu init\uuuu
方法中的代码缩进。