25

今日、Python の例を見て、それを使用しました -> たとえば、これは私が見たものでした:

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

そのコードは何をしているのですか?そのようなコードを見たことがないので、よくわかりません

 a:spam,b:bacon  

誰かが私のためにこれを説明できますか?私はグーグルで「何をしますか-> Pythonで何をしますか」と検索しましたが、私が見つけた良い検索はありませんでした。

4

2 に答える 2

29

戻り型の関数アノテーションです。annotationsコード内では何もしません。ユーザーのコード補完を支援するためにあります (私の経験では)。

ここにPEPがあります。

「注釈はコード内で何もしない」という意味を示しましょう。次に例を示します。

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

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

上記のコードはエラーなしで実行されます。しかし、ご覧のとおり、最初のパラメーターastringで、2 番目のパラメーターはintです。しかし、これは私の IDE だけの問題であり、コードは問題なく実行されます。

ここに画像の説明を入力

于 2013-10-20T16:13:51.510 に答える
7

それらは関数注釈です。それらは実際には何もしませんが、ドキュメンテーションに使用したり、メタプログラミングと組み合わせて使用​​できます。

于 2013-10-20T16:12:41.930 に答える