[Python-Dev] Is static typing still optional?
Ivan Levkivskyi
levkivskyi at gmail.com
Mon Dec 18 14:55:12 EST 2017
On 18 December 2017 at 20:38, Nick Coghlan <ncoghlan at gmail.com> wrote:
>
> On 19 Dec. 2017 7:00 am, "Chris Barker" <chris.barker at 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.)
--
Ivan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20171218/f41b7c38/attachment.html>
More information about the Python-Dev
mailing list