ZhangZhihui's Blog  

If we want objects of this class to be used in iteration contexts, then they should support the iteration protocol. To make this class iterable, we can add a __iter__ method to this class.

复制代码
class Stack:
    def __init__(self):
        self.items = []

    def is_empty(self):
        return self.items == []

    def size(self):
        return len(self.items)

    def push(self, item):
        self.items.append(item)

    def pop(self):
        if self.is_empty():
            raise RuntimeError("Stack is empty")
        return self.items.pop()

    def display(self):
        print(self.items)

    def __iter__(self):
        return iter(self.items)


stack = Stack()
stack.push(20)
stack.push(30)
stack.push(10)
stack.push(89)
for item in stack:
    print(item)
print(min(stack), max(stack), sum(stack))
复制代码

Output-

20

30

10

89

10 89 149

 

posted on   ZhangZhihuiAAA  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2023-07-31 Go - go.work, go.mod, go.sum
2023-07-31 Go - installation
2023-07-31 Go - env
2023-07-31 Python - match case
 
点击右上角即可分享
微信分享提示