A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2018-February/152149.html below:

[Python-Dev] Dataclasses and correct hashability

[Python-Dev] Dataclasses and correct hashability [Python-Dev] Dataclasses and correct hashabilityEthan Furman ethan at stoneleaf.us
Tue Feb 6 13:11:52 EST 2018
On 02/06/2018 09:38 AM, Guido van Rossum wrote:

> Where do you get the impression that one would have to explicitly request __hash__ if frozen=True is set? To the
> contrary, my proposal is for @dataclass to automatically add a __hash__ method when frozen=True is set. This is what the
> code currently released as 3.7.0b1 does if hash=None (the default).

Which is my issue with the naming -- although, really, it's more with the parameter/argument:  in a hand-written class,

   __hash__ = None

means the object in is not hashable, but with the decorator:

   @dataclass(..., hash=None, ...)

it means something else.

My preference for "fixing" the issue:

1) make the default be a custom object (not None), so that `hash=None`
    means disable hashing

2) change the param name -- maybe to `add_hash` (I agree with D'Aprano
    that `unsafe_hash` can be misleading)

--
~Ethan~
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4