我尝试在python3.6中实现一个接口(我知道Python中不存在这些接口)。使用以下示例:
import time
class ModuleInterface:
# How often the module information is updated (int in seconds).
interval = None
def update(self):
raise NotImplementedError
class HardDisk(ModuleInterface):
###############################################################################
pass # First
###############################################################################
# def update(self): # Second
# time.sleep(self.interval) # Second
###############################################################################
hd = HardDisk()
hd.update()
对于第一种情况,代码应该产生NotImplementedError。在第二种情况下,我想得到一个类似的错误,但我不知道如何在Python中正确实现它。接口的概念是,如果没有定义某些内容,就会产生错误。但是定义了interval,这就是为什么第二种情况会产生TypeError。然而,这不是我想得到的那种错误。最好为ModuleInterface的所有成员断言它们必须由继承类定义。你知道吗
你在找^{} module 。示例(Python2.7-您可以在the 3.6 doc中找到py3示例):
AFAICT使其与Python3.6一起工作的唯一修改应该是替换这个(未经测试):
与
相关问题 更多 >
编程相关推荐