python算法与数据结构(2)抽象数据类型和面向对象编程

抽象数据类型和面向对象编程
class 包含 data method
ADT Abstract Data Type 抽象数据类型
Bag data: 容器
method : add
remove
len
iter
做一个抽象数据类型,包含数据和方法,方法包含添加数据,删除数据,数据长度,迭代数据。

class Bag(object):
    def __init__(self, maxsize):
        self.maxsize = maxsize
        self._items = list()

    def add(self, item):
        if len(self) > self.maxsize:
            raise Exception("Bag is Full")
        self._items.append(item)

    def remove(self,item):
        self._items.remove(item)

    def __len__(self):
        return len(self._items)

    def __iter__(self):
        for item in self._items:
            yield item

def  test_bag():
    bag = Bag(4)
    bag.add(1)
    bag.add(2)
    bag.add(3)

    assert len(bag) == 3
    bag.remove(3)
    assert len(bag) == 2
    for i in bag:
        print(i)

在这里插入图片描述

发布了48 篇原创文章 · 获赞 0 · 访问量 759

猜你喜欢

转载自blog.csdn.net/qq_36710311/article/details/104590182