首页 > 解决方案 > 临时变量的 Python 类型提示

问题描述

如何在 Python 中声明和设置临时变量?我正在使用 Python 3 的在线 GDB。下面是一个最小的代码示例。调试器指出这是一个语法错误。错误消息如下。

def main():
    a:int 
    a = 0 
    print(a)

if __name__ == "__main__":
    main()

对于那段代码,错误消息如下。

  File "main.py", line 4
    a:int
     ^
SyntaxError: invalid syntax

另外,我在评论中尝试了另一种解决方案,该解决方案不适用于 Python 3 的 GDB。代码如下。

def main():
    a: int = 0 
    print(a)

if __name__ == "__main__":
    main()

对于后面的示例,错误消息如下。

  File "main.py", line 4                                                                                   
    a: int = 0                                                                                     
     ^                                                                                 
SyntaxError: invalid syntax

下面是不产生语法错误的正确版本。

def show(a:int)->None:
    print(str(a))

def main():
    a = 0
    show(a)

if __name__ == "__main__":
    main()

标签: pythonpython-3.x

解决方案


变量注释

def foo():
    x:int
    x=0

在 Python 3.6 中添加。在早期版本的 Python 中,它们是无效的语法。

函数注释

def foo(x:int) -> None:
    pass

自 3.0 起在早期版本中有效。


推荐阅读