On 12/10/2017 5:00 PM, Raymond Hettinger wrote: > > >> On Dec 10, 2017, at 1:37 PM, Eric V. Smith <eric at trueblade.com> wrote: >> >> On 12/10/2017 4:29 PM, Ivan Levkivskyi wrote: >>> On 10 December 2017 at 22:24, Raymond Hettinger <raymond.hettinger at gmail.com<mailto:raymond.hettinger at gmail.com>> wrote: >>> Without typing (only the first currently works): >>> Point = namedtuple('Point', ['x', 'y', 'z']) # >>> underlying store is a tuple >>> Point = make_dataclass('Point', ['x', 'y', 'z']) # >>> underlying store is an instance dict >>> Hm, I think this is a bug in implementation. The second form should also work. >> >> Agreed. >> >> I have a bunch of pending changes for dataclasses. I'll add this. This is bpo-32278. > I suggest two other fix-ups: > > 1) Let make_dataclass() pass through keyword arguments to _process_class(), so that this will work: > > Point = make_dataclass('Point', ['x', 'y', 'z'], order=True) This is bpo-32279. > > 2) Change the default value for "hash" from "None" to "False". This might take a little effort because there is currently an oddity where setting hash=False causes it to be hashable. I'm pretty sure this wasn't intended ;-) No time for this one yet. Soon! Eric.
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