You're right of course. Oh well, it *was* a wild idea.π Rob Cliffe
On 04/12/2 On 04/12/2022 18:16, Chris Angelico wrote:
On Mon, 5 Dec 2022 at 05:11, Rob Cliffe via Python-Dev <[email protected]> wrote:Wild suggestion: Make None.__hash__ writable. E.g. None.__hash__ = lambda : 0 # Currently raises AttributeError: 'NoneType' object attribute '__hash__' is read-onlyHashes have to be stable. If you change the hash of None after it's been inserted into a dictionary, you'll get all kinds of entertaining problems.class X:... def __init__(self): self.hash = 0 ... def __hash__(self): return self.hash ...x = X() d = {x: "This is x"} x.hash = 1 for key in d: print(key, key in d)... <__main__.X object at 0x7f2d07c6f1c0> False ChrisA _______________________________________________ Python-Dev mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/[email protected]/message/OVVIKTG7CBN6BII4OBGIXWQJJXYCEO3I/ Code of Conduct: http://python.org/psf/codeofconduct/
_______________________________________________ Python-Dev mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/[email protected]/message/L7JDJFPJKYNHIA7QVYGC74SYAVODM2IX/ Code of Conduct: http://python.org/psf/codeofconduct/