On Sun, 31 May 2026 09:25:32 -0000 (UTC), Lawrence D’Oliveiro wrote:

> 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.

Oh. hmm - sorry - I guess I misread the output - I was under the 
impression there were two instances. Should have used len to check though.
-- 
https://mail.python.org/mailman3//lists/python-list.python.org

Reply via email to