我是Python语言的新手。我正在尝试使用类和对象实现堆栈操作。这是我到现在为止写的代码:
class StackOperation:
def __init__(self):
front = 0
MyStack = [None]*5
def PushValue(self, value):
MyStack[front] = value
front += 1
def PopValue(self):
return MyStack[front -= 1]
def PrintStack(self):
for i in range(len(MyStack)):
print MyStack[i]
stack = StackOperation()
stack.PushValue(10)
print stack.PopValue()
但是当我试图运行它时,这个代码给了我一个错误。错误显示:
“名称错误:未定义全局名称'MyStack'”
我不确定我犯了什么错误。 如果有人能帮我,我会很高兴的。你知道吗
最好将它们用作
instance variable
,而不是global variable
,因为它们都在同一个类中。像这样:你的
MyStack
和front
不是实例变量,所以你不能访问它。必须使用self
使其成为实例变量。你知道吗相关问题 更多 >
编程相关推荐