Re: [問題] zope interface
※ 引述《huggie (huggie)》之銘言:
: 我在看 twisted 的時候看到了 zope interface
: 看得還蠻糊里糊塗的
: http://docs.zope.org/zope.interface/README.html
: 1. 他的 IFooFactory() 的 __call__ 是直接要造出一個 foo
: 不透過 class 的意思嗎?
__call__ 就python裡只是讓instance有類似函式呼叫的寫法
例如:
class a:
def __call__( self, word ):
print word
b = a()
b("hi") #會print hi
文中的__call__看起來只是要註解 __init__ 而使用的招式而已
而IFooFactory
是要讓class(也是一種object)直接 提供(provide) Interface
因為跟他之前介紹的 instance 提供 Interface有點不同 所以換個名字吧?
文後也說 因為這招很常被使用到 所以有
zope.interface.classProvides(IFooFactory)
直接讓 Foo2 提供 Interface 的寫法
: 2. 不太懂 zope.interface.classProvides(IFooFactory) 這句的用意?
: 那跟 zope.interface.implements(XXX) 的差別在哪裡?
: 可能1看不太懂,所以2也不太懂.=/
這個你可能要看看文章蠻前面有解說 implememt 與 provide 的意思
你說的第一句是 我上面最後提的寫法
implements(XXX) 是指說
若把implements寫在class裡 那class的instance就會provide XXX
跟class directProvide interface 意思差蠻多的
以上是我看了一下你提供文章後的心得
有錯不負責 有空請指正 僅供參考 囧>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.176.140.46
推
03/01 15:14, , 1F
03/01 15:14, 1F
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章