|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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]
复制代码
开头__init__里面把strack的属性定义成了列表形式,__init__(self, start=[]):这里面self是实例化,start=[]这个参数的作用是什么? for x in start: self.push(x) 这是要把start列表里的值放到push里面去,可是start是类Stract初始化的第二个参数,我在调试的时候用 s=Strack() s(1) 这样显然是不能把值直接放到push里面去的。请高手解答 |
|