什么 - >在python中做

时间:2013-10-20 16:11:06

标签: python python-3.x

我今天看到了一个python示例,它使用了 - >例如,这就是我所看到的:

spam = None
bacon = 42
def monty_python(a:spam,b:bacon) -> "different:":
    pass

那段代码在做什么?我不太确定我从未见过这样的代码我真的没有得到什么

 a:spam,b:bacon  

正在做任何一件事,有人可以为我解释一下吗?我用谷歌搜索,“在python中做了什么 - >”但是我找不到好的搜索。

2 个答案:

答案 0 :(得分:29)

它是返回类型的函数注释。 annotations在代码中不执行任何操作,它们可以帮助用户完成代码(根据我的经验)。

以下是PEP

让我演示一下,我的意思是“注释在代码中什么都不做”。这是一个例子:

def fun(a: str, b: int) -> str:
    return 1

if __name__ == '__main__':
    print(fun(10, 10))

上面的代码将运行没有任何错误。但是你可以看到第一个参数 应该是string,第二个参数是int。但是,这只是我的IDE中的问题,代码运行得很好:

enter image description here

答案 1 :(得分:7)

他们是function annotations。它们本身并没有真正做任何事情,但它们可以用于文档或与元编程结合使用。