|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- class Stack:
- def __init__(self, start=[]):
- self.stack = []
- for x in start:
- self.push(x)
- def isEmpty(self):
- return not self.stack
-
- def push(self, obj):
- self.stack.append(obj)
-
- def pop(self):
- if not self.stack:
- print('警告:栈为空!')
- else:
- return self.stack.pop()
-
- def top(self):
- if not self.stack:
- print('警告:栈为空!')
- else:
- return self.stack[-1]
-
- def bottom(self):
- if not self.stack:
- print('警告:栈为空!')
- else:
- return self.stack[0]
复制代码
1. 在初始化的时候用到了push()方法,但是这个方法下面才被定义,这样为什么不报错呢?我一直以为初始化方法是被优先执行的
2. return not self.stack 这是种什么写法?self.stack返回了一个列表, 为什么not self.stack就变成true或false了
3. return self.stack[-1] 为什么-1 返回的事顶端数据? |
|