4

Python はコンパイル時に型をチェックしません。少なくともいくつかの状況ではできないからです。しかし、ユーザーによる追加の注釈に基づいてコンパイル時の型チェックを行うメカニズムを思いついた人はいますか? 著者による特別な保証を使用する pylint のようなものはありますか? 私は次のようなことを考えています:

#guarantee(argument=int, return_type=int)
def f(x):
    return x + 3

#guarantee(argument=int, return_type=str)
def g(x):
    return "%d times" % x

y = f(6)

# works, z = "9 times"
z = g(y)
# error
a = f(z)

このチェッカーは、各関数の上のコメントを解釈しf(x)ます。これに似た機能を持つ製品はありますか?intg(x)str

4

3 に答える 3