我想初始化一个基本的堆栈 - 与推,弹出功能。 测试中出现问题。您会在代码中注意到我推送了2次,所以打印的堆栈应该显示为[5,5]
,而显示为None
。我可以修改代码使其最终工作,但是我不会完全理解底层概念和我的方式的错误。所以我要求咨询和指点。 请查看这些代码并告诉我我做错了什么。初始化基本堆栈,但错误我不理解
这是与它的所有功能的类的代码,它被命名为stack_class
:
class Stack:
def __init__(self):
self._values = []
print ('Stack initialized...')
return
def push(self, var):
ok = self._values.append(var)
return ok
def pop(self):
self.stack.pop()
def __str__(self):
output = "{0}".format(self.ok)
return output
这是测试代码:
from stack_class import Stack
ob_1 = Stack()
ob_1.push(5)
print(ob_1.push(5))
另外,为什么每个构造函数通常都有一个空的return语句?它究竟返回了什么? – Amin
他们不会,根本不是我的经验。在构造函数的结尾不需要一个空的'return'语句。简单的'return'语句返回'None'。正如简单地从一个函数的结尾落下一样。 –