Python实现的“抽象数据类型”

本文介绍了如何在Python中使用abc模块创建抽象类,以实现集合(Set)的抽象数据类型。通过定义抽象属性和方法,如size、isEmpty、search等,为具体的数据结构如HashSet提供基础接口。
摘要由CSDN通过智能技术生成

Python语言本身么有提供类型其他面向对象语言的抽象类、接口语法,我们可以在Python中引用abc模块来实现抽象类。

from abc import ABCMeta,abstractproperty,abstractmethod

class Set(metaclass=ABCMeta):   #元类型是类的类
    '''
    集合抽象类,metaclass=ABCMeta表示将Set类作为ABCMeta的子类
    继承于abc.ABCMeta的类可以使用abstractproperty,abstractmethod
    修饰器声明虚属性与虚方法
    '''
    @abstractproperty       #把函数当作属性访问  
    def size(self):
        '''
        返回集合中元素的个数
        '''
        pass
    @abstractmethod
    def isEmpty(self):
        '''
        判断集合是否为空
        '''
        pass    
    @abstractmethod
    def search(self,key):
        '''
        在集合中查找关键字为key的元素并返回
        '''
        pass
    @abstractmethod
    def contains(self,x):
        '''

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值