[Python-Dev] Is static typing still optional?
Eric V. Smith
eric at trueblade.com
Mon Dec 11 15:01:31 EST 2017
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.
More information about the Python-Dev
mailing list