什么 - >在python中做

rul*_*ler 25 python python-3.x

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

spam = None
bacon = 42
def monty_python(a:spam,b:bacon) -> "different:":
    pass
Run Code Online (Sandbox Code Playgroud)

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

 a:spam,b:bacon  
Run Code Online (Sandbox Code Playgroud)

正在做什么,有人可以为我解释这个吗?我用谷歌搜索,"在python中做了什么 - >做了什么"但是我找不到好的搜索.

Gam*_*iac 29

它是返回类型的函数注释.annotations在代码中什么都不做,它们可以帮助用户完成代码(根据我的经验).

这是它的PEP.

让我演示一下,我所说的"注释在代码中什么都不做".这是一个例子:

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

if __name__ == '__main__':
    print(fun(10, 10))
Run Code Online (Sandbox Code Playgroud)

上面的代码将运行没有任何错误.但正如你所看到的那样,第一个参数应该是a string,而第二个参数应该是a int.但是,这只是我的IDE中的一个问题,代码运行得很好:

在此输入图像描述


Dou*_*gal 7

它们是功能注释.它们本身并没有真正做任何事情,但它们可以用于文档或与元编程结合使用.