【问题标题】:creating a class in python - error在python中创建一个类 - 错误
【发布时间】:2016-02-29 01:05:59
【问题描述】:

我正在创建的程序应该运行一个队列类,但是会发生错误,因为它不存在,因此无法在类中使用 append,即使它被设置为字符串。有人可以帮我理解为什么我会收到这些错误吗?

class Queue:

    def queue(self):
        self.queue = []
        self.out_stack = []

    def enqueue(self, other='string'):
        self.enqeue = self.queue.append(other)

    def dequeue(self):
        if not self.out_stack:
            while self.queue:
                self.dequeue = self.out_stack.append(self.queue.pop(1))
        return self.dequeue

    def isEmpty(self):
        return self.queue == []

【问题讨论】:

    标签: python class queue append


    【解决方案1】:

    当您创建实例变量self.queue 时,您正在遮蔽def queue(self): 定义的方法

    看起来该方法应该是您的__init__ 方法

    class Queue:
    
        def __init__(self):
            self.queue = []
            self.out_stack = []
    
        def enqueue(self, other='string'):
            self.queue.append(other)
    
        def dequeue(self):               # what is this method supposed to do?
            if not self.out_stack:
                while self.queue:
                    self.dequeue = self.out_stack.append(self.queue.pop(1))
            return self.dequeue
    
        def isEmpty(self):
            return self.queue == []
    

    现在self.dequeue 被用作方法和属性仍然存在类似的问题。我不确定你想在那里做什么。

    【讨论】:

    • 谢谢。我没有意识到由于属性程序正在工作而摆脱了出队
    猜你喜欢
    • 2016-05-19
    • 1970-01-01
    • 2013-11-01
    • 2018-02-05
    • 2023-04-04
    • 1970-01-01
    • 2017-09-26
    • 2021-08-29
    • 2021-07-26
    相关资源
    最近更新 更多