【发布时间】:2014-01-31 03:09:18
【问题描述】:
我正在尝试使用推送和弹出功能初始化一个基本堆栈。
问题在测试时出现。您会在代码中注意到我已经推送了 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语句。一个普通的return语句返回None。就像简单地从函数的末尾掉下来一样。
标签: oop python-3.x stack