idekazuki / diary

記録
0 stars 1 forks source link

python annotations #93

Open idekazuki opened 4 years ago

idekazuki commented 4 years ago

pytorchの実装中にannotations が出てきた。

annotationsは関数の引数などに注釈を入れることができるらしい、

def sample(x: int = 2, y: 'this is yval'): -> 'mul x, y'
    return x * y

この様に:で引数に注釈を、->で返り値に注釈をつけることができる。 そしてデフォルト引数を設定する場合は注釈のあとになる。

また、ただの変数に注釈をつけることもできる。

__annotations__ = {
    'x': int,
    'y': int,
}

の様にannotationsのdictに直接書き込むことで注釈がつく。

idekazuki commented 4 years ago

注釈は、ただの注釈で、型を間違えたからと言ってエラーが出るわけではない。 表示させるときは、 sample.__annotations__ の様に直接辞書を表示させたり、pychermを使用しているなら補完で引数の使い方がわかるようになる。