2012-12-04 43 views
1

提供类继承与contextlib.contextmanager

class SomeClass: 
    @contextlib.contextmanager 
    def on_connection(self, target_terminal, source_terminal): 
     ... 
     yield 
     ... 

如何从它继承?

+0

道歉自答案。我搜索了StackOverflow来解答这个问题。当我找不到一个,我不得不考虑这个问题,然后决定为下一个人发布一个答案。 –

回答

1

这是可能的contextlib.contextmanager模式与with块超上下文管理,使结合:

class SomeDerivedClass(SomeClass): 
    @contextlib.contextmanager 
    def on_connection(self, target_terminal, source_terminal): 
     with super().on_connection(target_terminal, source_terminal): 
      ... 
      yield 
      ...