적어도 상황에 따라 Python은 유형을 컴파일 할 때 검사하지 않기 때문에 유형을 확인하지 않습니다. 그러나 누군가가 추가 주석을 기반으로 컴파일 타임 형식 검사를 수행하는 메커니즘을 사용자에게 제공해야합니까? 저자가 여분의 보증을 사용하는 pylint와 같은 것? 내가 좋아하는 뭔가 생각 해요 :Python 컴파일 시간 유형 검사
#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)
만 int
을 허용하도록되어 있지만, 그래서는 str
의 z는 g(x)
에서 오는 것을 실현, 각 기능에 위의 의견을 해석하는 것입니다. 이 비슷한 것을하는 제품이 있습니까?
내 이해는 PyPy가 다소 비슷하지만 일반적으로 사람들은 Python Python을 사용하지 않으려 고하지 않는다. 대신 엄격한 형식의 언어를 사용한다. 어쨌든 파이썬에는 "컴파일 타임"과 같은 것이 없다. 정적 또는 동적 코드 분석을 수행 할 수 있으며 pyc 로의 변환은 컴파일로 간주 될 수 있지만 근본적인 수준에서 임의 코드는 런타임시 시스템에 대한 모든 것을 변경할 수 있습니다. –