4

Mypy は署名を推測するために何もしていないようです。あれは正しいですか?例えば:

# types.py
def same_int(x: int) -> int:
    return x

def f(x):
    y = same_int(x)

    # This would be "Unsupported operand types for + ("int" and "str")" 
    # y + "hi"

    return y

f("hi")
f(1) + "hi"

私がこれを行うとき、苦情はありません:

mypy --check-untyped-defs types.py

fMypy は(if--check-untyped-defsがオンになっている場合)の本体内の式について推論します。それを使用して署名に関する推論を行い、適用することが理にかなっているのかどうか疑問に思っています。(そうでない場合は、なぜですか。)

4

1 に答える 1