[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