On 2017-10-02 10:51, Marko Rauhamaa wrote: > Chris Angelico <ros...@gmail.com>: > >> On Mon, Oct 2, 2017 at 5:34 PM, Marko Rauhamaa <ma...@pacujo.net> wrote: >>> I have *seen* a semi-useful decorator in code once >>> (@contextlib.contextmanager) but still would prefer explicit dunder >>> methods. >> >> [...] I'm not sure where dunder methods come into this, though, as >> they're completely unrelated. > > A context manager must implement __enter__() and __exit__(). > @contextlib.contextmanager implements them for you.
Let's revisit the bit of Chris' mail you didn't quote: On 2017-10-02 09:02, Chris Angelico wrote: > > There are plenty of programs that don't need decorators, but in some > contexts, they are just beautiful. Building a web app in Flask or > Django involves functions that get decorated to say what endpoints > they handle, for instance. The point is that there are plenty of useful decorators that have nothing to do with dunder methods. -- Thomas Jollans -- https://mail.python.org/mailman/listinfo/python-list