Path: csiph.com!eternal-september.org!feeder.eternal-september.org!nntp.eternal-september.org!.POSTED!not-for-mail From: Lawrence =?iso-8859-13?q?D=FFOliveiro?= Newsgroups: comp.lang.python Subject: Re: Python __hash__ return value - what use is it? Date: Sun, 31 May 2026 09:25:32 -0000 (UTC) Organization: A noiseless patient Spider Lines: 28 Message-ID: <10vguqb$1ecdn$1@dont-email.me> References: <10vgrfu$1dchl$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Sun, 31 May 2026 09:25:32 +0000 (UTC) Injection-Info: dont-email.me; logging-data="1520055"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19fjuaJncC3Ij1FFZcNBkuF"; posting-host="cea8d78cbaf754950e95e181f8579758" User-Agent: Pan/0.165 (Kostiantynivka) Cancel-Lock: sha1:jquGwaxW6u6S2CgQncNfkD06d/I= sha256:+vOZ0DkDSIPbCKIVUwL5V5oQoFC6EXESidCWCg586Hg= sha1:tXF1zeHGnYppT6DOaYsrLzbxsw0= Xref: csiph.com comp.lang.python:197794 On Sun, 31 May 2026 08:28:46 -0000 (UTC), Veek M wrote: > However when I print the set I see individual instances though I > want the instances to be the treated the same .ie there should be > just one instance in the set because the return value from __hash__ > is always 1. > > In the dictionary when I print it I see the instances as individual > keys though I want to see a single key - what gives?? Just tried your code in a Jupyter notebook under Python 3.13.12, and this was the output: in __bool__ true ----- in __hash__ in __hash__ in __eq__ <__main__.MyClass object at 0x7f68a86a4410> {<__main__.MyClass object at 0x7f68a8691400>} ----- in __hash__ in __hash__ in __eq__ <__main__.MyClass object at 0x7f68a86a4410> {<__main__.MyClass object at 0x7f68a8691400>: '20'} As you expected, only a single element in the set, and only a single entry in the dict.