2018-03-24 17:18 GMT+03:00 Tin Tvrtković <tinches...@gmail.com>:
>
> I've found that, if a class has more than one attribute, instead of
> creating an init like this:
>
>     self.a = a
>     self.b = b
>     self.c = c
>
> it's faster to do this:
>
>     self.__dict__ = {'a': a, 'b': b, 'c': c}
>
> i.e. to replace the instance dictionary altogether. On PyPy, their core
> devs inform me this is a bad idea because the instance dictionary is
> special there, so we won't be doing this on PyPy.
>

But why you need to replace it? When you can just update it:

class C:
    def __init__(self, a, b, c):
        self.__dict__.update({'a': a, 'b': b, 'c': c})

I'm certainly not a developer. Just out of curiosity.

With kind regards,
-gdg
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to