我有一个python脚本,其中包含函数参数的类型声明,如下所示:
def dump_var(v: Variable, name: str = None):
据我所知,这是一个有效的语法,它为函数设置一种输入参数,但它返回一个
SyntaxError: invalid syntax
可能有什么问题?
答案 0 :(得分:4)
简答:语法错误:语法无效,因为for python2.7类型提示是 语法违规 ,您可以使用< strong> python3.5 + 或在评论中使用 python2.7 的类型提示PEP建议
您可以阅读本文以了解如何在python2.7 Suggested syntax for python2.7 and straddling clode中进行类型提示。
某些工具可能希望在必须的代码中支持类型注释 与Python 2.7兼容。为此目的,这个PEP有一个建议 (但不是强制性的)扩展,其中放置了函数注释 #type:评论。这样的评论必须紧随其后 函数头(在docstring之前)
示例:
以下Python 3代码:
def embezzle(self, account: str, funds: int = 1000000, *fake_receipts: str) -> None:
"""Embezzle funds from account using fake receipts."""
<code goes here>
等同于以下python 2.7代码
def embezzle(self, account, funds=1000000, *fake_receipts):
# type: (str, int, *str) -> None
"""Embezzle funds from account using fake receipts."""
<code goes here>