4
내가이 매우 간단한 코드가 힌트은`에서 Iterable [(INT는 INT)]를 '유형에서 허용되지 않습니다 튜플
Traceback (most recent call last):
File "type_m.py", line 6, in <module>
def locate_zeros(matrix: IntegerMatrix) -> Iterable[Position]:
File "/usr/lib/python3.5/typing.py", line 970, in __getitem__
(len(self.__parameters__), len(params)))
TypeError: Cannot change parameter count from 1 to 2
을 왜 할 수 없습니다 반환 유형으로 Int 쌍을 반복 할 수 있습니까?
-> Position
과 Iterable[Any]
모두 작동하므로, 단지 Iterable
과 Position
이 함께 작동하지 않습니다.
하지만 왜'foo() -> (int, int)'는'foo() -> Iterable [(int, int)]'가 아닌'작동합니까? – Caridorc
함수 주석은 아무 것도하지 않습니다. 그들은 순전히 정보 제공의 것입니다. 파이썬 객체를 타입 힌트로 사용할 수 있으며'(int, int)'는 유효한 파이썬 객체입니다. '-> 42' 또는'-> super'를 사용할 수도 있습니다. 그다지 유용하지는 않지만 문법적으로는 정확합니다. 반면에 'typing.Iterable'은 함수 주석에서 타입 힌트를 더 구체적으로 의미하며'typing' 모듈의 다른 유형 주석 클래스와 함께 작동하도록 설계되었습니다. –
매우 명확합니다. 감사하고 좋은 하루 되세요. – Caridorc