2016-08-02 9 views
3

Mypy가 서명을 유추하는 데 아무 것도하지 않는 것 같습니다. 그 맞습니까? 예를 들면 :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" 

불만 나는이 수행 (--check-untyped-defs이 켜져있는 경우)

mypy --check-untyped-defs types.py 

Mypy는 f의 신체 내에서 표현에 대해 추론을 할 것이다. 나는 그것을 사용하여 서명에 대한 추론을 만들고 적용하는 것이 타당한 지 궁금합니다. (그렇지 않다면 왜 안됩니까?)

답변

3

mypy는 동적 인 코드와 입력 된 코드를 함께 사용하여 크고 다양한 코드베이스를 쉽게 전환 할 수 있도록 설계되었습니다. 둘 다의 이득을 얻으십시오.

결과적으로 형식 주석이없는 함수는 기본적으로 동적 형식 지정 함수로 처리되며 암시 적으로 Any의 매개 변수 및 반환 형식이 제공됩니다.