On Wed, Sep 13, 2017 at 3:01 PM, Ivan Levkivskyi <levkivskyi at gmail.com> wrote: > @Guido > > One would have to introduce some kind of convention > > where you can write properties with a leading _ > > One doesn't even need the @property decorator in this case. > For example: > > def __getattr__(name): > g = globals() > name = '_' + name > if name in g: > return g[name]() > raise AttributeError(...) > > def _attr(): > "do something" > return actual_object > > One can even write a decorator that would change the name automatically > (but this will require a call at the end of module to unbind original > names). > The space for play is infinite. The question is what exactly is needed. > I would say that already basic customisation (like __getattr__) will be > enough. > IIUC, this will be actually a bit faster than setting __class__ since only > "customized" > attributes will be affected. > That last sentence is a key observation. Do we even know whether there are (non-toy) things that you can do *in principle* with __class__ assignment but which are too slow *in practice* to bother? And if yes, is __getattr__ fast enough? @property? IMO we're still looking for applications. -- --Guido van Rossum (python.org/~guido) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20170913/64355948/attachment.html>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4