push、len、pop、および isEmpty のチェックのメソッドをサポートする独自の LIFO コンテナー クラス Stack を作成しました。このクラスの作成されたインスタンスを呼び出す場合を除いて (私の例では)、すべてのメソッドが私の呼び出し例で動作しているように見えます。
class Stack:
x = []
def __init__(self, x=None):
if x == None:
self.x = []
else:
self.x = x
def isEmpty(self):
return len(self.x) == 0
def push(self,p):
self.x.append(p)
def pop(self):
return self.x.pop()
def __len__(self):
return(len(self.x))
s = Stack()
s.push('plate 1')
s.push('plate 2')
s.push('plate 3')
print(s)
print(s.isEmpty())
print(len(s))
print(s.pop())
print(s.pop())
print(s.pop())
print(s.isEmpty())
この行print(s)
を実行した結果は<__main__.Stack object at 0x00000000032CD748>t
、期待して探しているときに得られます['plate 1','plate 2','plate3']