欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python的接口实现zope.interface示例

发布时间:2025/3/15 python 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python的接口实现zope.interface示例 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

python支持多继承,但是不支持接口,zope.inteface是其三方的接口实现库,在twisted中有大量使用

from zope.interface import Interface
from zope.interface import implementer
import socket
 
class IHostNameResolver(Interface):
    def getHostByName(name, timeout = (1, 3, 11, 45)): # 可以不用self
        """
        Resolve the domain name C{name} into an IP address.
        """
 
"""
类装饰器等价于:implementer(IHostNameResolver)(HostNameResolver)
"""
@implementer(IHostNameResolver)
class HostNameResolver:
 
    def getHostByName(self, name, timeout = (1, 3, 11, 45)):
        try:
            address = socket.gethostbyname(name)
        except socket.error:
            return 'none'
        else:
            return address
 
resolver = HostNameResolver()
print resolver.getHostByName('localhost')
 
# 判断HostNameResolver是否实现了接口IHostNameResolver
print IHostNameResolver.implementedBy(HostNameResolver) # True, 调用 SpecificationBasePy.implementedBy()

 

 

总结

以上是生活随笔为你收集整理的python的接口实现zope.interface示例的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。