首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python中空类的用法是什么?

Python中空类的用法是什么?
EN

Stack Overflow用户
提问于 2020-04-16 06:14:49
回答 1查看 587关注 0票数 1

我们可以使用Python中的pass语句创建一个空类。

代码语言:javascript
复制
# An empty class 
class Test: 
    pass

这里的问题是为什么我们需要空类?

或者不知道在什么情况下我们应该使用一个空类。

我无法想象日常发展中的用法。有人能做个示范和解释吗?

EN

回答 1

Stack Overflow用户

发布于 2020-04-16 06:21:23

当您创建一个新类时,您正在创建一个新类型。这个新创建的类型可能有一些属性,也可能没有。这些属性允许保存数据、方法等。

不继承任何基类的空类作为占位符使用。

代码语言:javascript
复制
class ServiceWrapper(object):
    pass

def sendMessage(svc:ServiceWrapper):
    #do something
    #pass

另一方面,继承其他类的空类是非常常见的模式。特别是在定义用户异常时。

代码语言:javascript
复制
class Networkerror(RuntimeError):
    pass

try:
    raise Networkerror()
except Networkerror:
    #do something
    #pass

最近,python collections.abc还允许创建类似功能的接口。

代码语言:javascript
复制
class ServiceWrapper(ABC):
    @abstractmethod
    def send(self):...

def sendMessage(svc:ServiceWrapper):
    svc.send()
    #pass
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61243808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档