Python 3.5 typed NamedTuple syntax produces SyntaxError

前端 未结 1 1771
执念已碎
执念已碎 2020-12-17 15:39

I get a SyntaxError: invalid syntax error when I try the new typed namedtuple syntax:

class Employee(NamedTuple):
    name: str
    id: int
         


        
1条回答
  •  温柔的废话
    2020-12-17 16:05

    The syntax to declare the types for the name and id fields you are using requires Python 3.6 or up. Python 3.5 does not support the variable-level type hints required.

    From the typing.NamedTuple documentation:

    Changed in version 3.6: Added support for PEP 526 variable annotation syntax.

    Use the backwards compatible syntax also included in the documentation:

    Employee = NamedTuple('Employee', [('name', str), ('id', int)])
    

    so listing the field names as (name, type) tuples.

    If you are using Python 3.5, you may want to switch to the Python 3.5 version of the documentation instead (there is a selector in the top-left corner, or you can just replace the 3 in the URL with 3.5).

    0 讨论(0)
提交回复
热议问题