필자는 클래스와 함수에 타입 힌트를 제공하기 위해 Python3.5 타입 모듈을 사용합니다. 이 힌트를 이용하여 PyCharm과 잘 작동합니다.Python3.5 타이핑을 런타임 검사로 사용하는 방법은 무엇입니까?
그러나 힌트 유형이 제공 될 때 파이썬 인터프리터가 런타임 유형 검사를 수행하도록 강요하고 싶습니다 (또는 적어도 일부 경고를 던지십시오).
현재 상태 :
In [1]: def times2(number: int):
...: return number + number
...:
In [2]: times2(8)
Out[2]: 16
In [3]: times2('8')
Out[3]: '88'
원하는 상태 :
In [1]: def times2(number: int):
...: return number + number
...:
In [2]: times2(8)
Out[2]: 16
In [3]: times2('8')
Out[3]: Assertion error: '8' is not an int
은 어떻게 든 그렇게 파이썬을 적용 할 수 있습니까?
def times2(number: int):
assert type(number) is IntType, "number is not an int: %r" % number
return number + number
을 아니면 내가 질문을 잘못 해석 한 :
아니요, 할 수 없습니다. –
아마도 컴파일 타임 형식 검사가 필요에 맞을까요? [mypy] (http://mypy-lang.org/) –