[Python-Dev] Is static typing still optional?

Eric V. Smith eric at trueblade.com
Thu Dec 21 09:23:12 EST 2017



On 12/21/17 6:25 AM, Sven R. Kunze wrote:
> On 21.12.2017 11:22, Terry Reedy wrote:
>>
>>>> @dataclass
>>>> class C:
>>>>      a: int # integer field with no default
>>>>      b: float = 0.0 # float field with a default
>>>>
>>>> And the types will be recognized by type checkers such as mypy.
>>>>
>>>> And I think the non-typed examples should go first in the docs.
>>
>
> I still don't understand why "I don't care" can be defined by "leaving out"
>
> @dataclass
> class C:
>      b = 0.0 # float field with a default

Because you can't know the order that x and y are defined in this example:

class C:
     x: int
     y = 0

'x' is not in C.__dict__, and 'y' is not in C.__annotations__.

Someone will suggest a metaclass, but that has its own problems. Mainly, 
interfering with other metaclasses.

Eric.


>
>
> For non-default fields, I like ellipsis too.
>
> Cheer,
> Sven
>
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/eric%2Ba-python-dev%40trueblade.com
>


More information about the Python-Dev mailing list