Fallback for operator and other dunder methods

Edmondo Giovannozzi edmondo.giovannozzi at gmail.com
Wed Aug 2 12:54:59 EDT 2023


Il giorno mercoledì 26 luglio 2023 alle 20:35:53 UTC+2 Dom Grigonis ha scritto:
> Tried exactly that and didn’t work. Neither __getattr__, nor __getattribute__ of meta is being invoked.
> > On 26 Jul 2023, at 10:01, Chris Angelico via Python-list <pytho... at python.org> wrote: 
> > 
> > On Wed, 26 Jul 2023 at 16:52, Dom Grigonis <dom.gr... at gmail.com> wrote: 
> >> 
> >> Could you give an example? Something isn’t working for me. 
> >> 
> > 
> > This is a metaclass: 
> > 
> > class Meta(type): 
> > ... 
> > class Demo(metaclass=Meta): 
> > ... 
> > 
> > In order to catch those kinds of attribute lookups, you'll need the 
> > metaclass to hook them. And you might need to use __getattribute__ 
> > rather than __getattr__. However, there may also be some checks that 
> > simply look for the presence of the attribute (see: slots), so you may 
> > find that it's even more complicated. It's usually easiest to just 
> > create the slots you want. 
> > 
> > ChrisA
> > -- 
> > https://mail.python.org/mailman/listinfo/python-list


For numpy arrays you can find some suggestion at: 
https://numpy.org/doc/stable/user/basics.dispatch.html


More information about the Python-list mailing list