【发布时间】:2017-12-24 13:21:33
【问题描述】:
在以下代码中,我在理解 Python 中数据结构的一些概念时遇到了问题。
class Stack(object): #1
def __init__(self): #2
self.items=[]
def isEmpty(self):
return self.items ==[]
def push(self,item):
self.items.append(item)
def pop(self):
self.items.pop()
def peak(self):
return self.items[len(self.items)-1]
def size(self):
return len(self.items)
s = Stack()
s.push(3)
s.push(7)
print(s.peak())
print (s.size())
s.pop()
print (s.size())
print (s.isEmpty())
- 我不明白这是什么
object参数 - 我将其替换为
(obj)并产生了错误,为什么? - 我尝试将其删除,但效果很好,为什么?
- 我不明白这是什么
- 为什么我有
__init__来设置构造函数? -
self是一个参数,但它是如何通过的呢?它代表哪个对象,它自己的类?
- 为什么我有
谢谢。
【问题讨论】:
-
你应该在这里阅读文档:docs.python.org/3.6/tutorial/classes.html
-
您的问题都是关于 Python 类的,而不是专门针对 Stack 的——也许您应该更改标题以反映这一点。
-
谢谢你们的指导。
-
我阅读了“Python 3 面向对象编程”这本书的前 3 章,我发现它比目前的文档更有帮助,我会向任何与这个主题有困难的人推荐它。再次感谢大家的指导。