python class的问题,为什么运行没错误,也没结果呢?

class Stack(object):
def __init__(self):
self.stack = []
def push(self,object):
self.stack.append(object)
def pop(self):
return self.stack.pop()
def length(self):
return len(self.stack)
s = Stack()
s.push("Dave")
s.push(42)
s.push([3,4,5])
x = s.pop()
y = s.pop()
del s
length()返回什么啊?怎么用?你是动态的对吗?动态的如果输错一个,CLASS就得全部重输对吗?

第1个回答  2011-02-24
如果需要输出s的内容,可以print s.stack。
如果要查看调用length()的结果,可以print s.length()。
你说的动态指的是命令行运行吧,这种情况下之前产生的变量会在栈中保存,class定义不需要重输。
或者你可以采用文件调用的方式,对于执行大段代码更方便。
第2个回答  2011-02-24
你不输出怎么会有结果呢?
print一下就行了:

>>> x = s.pop()
>>> print x
[3, 4, 5]
>>> y = s.pop()
>>> print y
42
>>>本回答被提问者采纳
第3个回答  2011-02-24
装入3个元素,弹出2个,指针没有越界所以没有错误。想要输出要加入输出语句。
第4个回答  2011-02-24
class Stack(object):
def __init__(self):
self.stack = []
def push(self,object):
self.stack.append(object)
def pop(self):
return self.stack.pop()
def length(self):
return len(self.stack)
s = Stack()
s.push("Dave")
s.push(42)
s.push([3,4,5])
x = s.pop()
y = s.pop()
print "X:%d \t Y:%d" %(x,y)
del s
相似回答