|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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):
- return 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]
复制代码
这是对类Stack定义不同的方法,039讲的课后作业。我是对第5行的self.push(x)这里产生了疑问:①push是运用了代码后面的push函数么,还是什么其他的方法呢;②为什么前面是self,而不是self.stack呢
①push是运用了代码后面的push函数么,还是什么其他的方法呢
就是后面在类中定义的push函数
②为什么前面是self,而不是self.stack呢
self.stack只是一个列表,它并没有push方法,而push方法是Stack类的函数,所以当然要用self来调用
|
|