Re: [問題] zope interface

看板Python作者 (huggie)時間13年前 (2012/03/01 17:36), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
※ 引述《KSJ (阿真)》之銘言: : ※ 引述《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__ 而使用的招式而已 就是這句不懂。註解中的"Create a foo"是說IFactory() 直接會create 一個 foo 還是implement IFactory 的某個class() 會 create 一個 foo? : 而IFooFactory : 是要讓class(也是一種object)直接 提供(provide) Interface : 因為跟他之前介紹的 instance 提供 Interface有點不同 所以換個名字吧? : 文後也說 因為這招很常被使用到 所以有 : zope.interface.classProvides(IFooFactory) : 直接讓 Foo2 提供 Interface 的寫法 你的意思是 IFooFactory 定義了provide者必須有 invocation 即會製造出 一個 foo 的功能, 而 class Foo2 因為 invocation 時會製造出 foo 的功能因此也是 provide IFooFactory? : : 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: 114.42.57.53
文章代碼(AID): #1FJqCbn9 (Python)
討論串 (同標題文章)
本文引述了以下文章的的內容:
1
1
完整討論串 (本文為第 3 之 4 篇):
1
1
1
1
文章代碼(AID): #1FJqCbn9 (Python)