> > On Thu, Dec 12, 2019 at 2:03 AM Eric V. Smith <[email protected]> wrote: > >> On 12/11/2019 6:36 PM, Arthur Pastel wrote: >> >> Add an extra hidden attribute to every instance just >> >> to track whether you’re inside __post_init__ so __setattr__ can check >> it? >> I don't want to add attributes that weren't defined in the class >> definition. >> > Would it be okay if we create an instance attribute before calling the > __init__ and then we remove it after the __post_init__ ? > Then we would simply have to check for the attribute existence when > checking if we raise a FrozenInstanceError. > > That wouldn't work if the class used __slots__. >
Then, in this specific case, would it be possible to add the attribute to the __slots__ in the generated class ? On Thu, Dec 12, 2019 at 1:47 PM Eric V. Smith <[email protected]> wrote: > On 12/12/2019 5:05 AM, Arthur Pastel wrote: > > On Thu, Dec 12, 2019 at 2:03 AM Eric V. Smith <[email protected]> wrote: > >> On 12/11/2019 6:36 PM, Arthur Pastel wrote: >> >> Add an extra hidden attribute to every instance just >> >> to track whether you’re inside __post_init__ so __setattr__ can check >> it? >> I don't want to add attributes that weren't defined in the class >> definition. >> > Would it be okay if we create an instance attribute before calling the > __init__ and then we remove it after the __post_init__ ? > Then we would simply have to check for the attribute existence when > checking if we raise a FrozenInstanceError. > > That wouldn't work if the class used __slots__. > > Eric > > > _______________________________________________ > Python-ideas mailing list -- [email protected] > To unsubscribe send an email to [email protected] > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/[email protected]/message/736SUFVXJBCNO6YNKAZCD2LRBWUOGE64/ > Code of Conduct: http://python.org/psf/codeofconduct/ >
_______________________________________________ Python-ideas mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/[email protected]/message/AZN53QR673EP5VLF6GR3HVVMETILMBXH/ Code of Conduct: http://python.org/psf/codeofconduct/
