On 12/18/2017 2:55 PM, Ivan Levkivskyi wrote:
On 18 December 2017 at 20:38, Nick Coghlan <ncogh...@gmail.com
<mailto:ncogh...@gmail.com>> wrote:
On 19 Dec. 2017 7:00 am, "Chris Barker" <chris.bar...@noaa.gov
<mailto:chris.bar...@noaa.gov>> wrote:
Are there other options??
plain old:
@dataclass
class C:
a = 1
b = 1.0
would work, though then there would be no way to express fields
without defaults:
The PEP already supports using "a = field(); b = field()" (etc) to
declare untyped fields without a default value.
The PEP is not 100% clear not this, but it is currently not the case and
this may be intentional (one obvious way to do it),
I just tried and this does not work:
@dataclass
class C:
x = field()
generates `__init__` etc. with no arguments. I think however that it is
better to generate an error than silently ignore it.
(Or if this a bug in the implementation, it should be just fixed.)
Hmm, not sure why that doesn't generate an error. I think it's a bug
that should be fixed. Or, we could make the same change we're making in
make_dataclass(), where we'll use "typing.Any" (as a string) if the type
is omitted. See https://bugs.python.org/issue32278.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com