2017-01-28 4 views
1

파이썬 3을 사용하고 있는데 mypy을 사용하는 방법을 배웠습니다. 내가 설명서를 읽고 (espcially this 일부 관련성이 보였습니다),하지만 내 질문에 대한 답변을 찾을 수 없습니다 :mypy : 복잡한 유형의 바로 가기를 정의 할 수 있습니까?

유형에 대한 몇 가지 바로 가기를 정의 할 수 있습니까?

예 :

보다는

from typing import List 


def f(x: List[int]) -> List[int]: 
    return x[1:] 

내가

from typing import List 

sequence = DefineTypeShortcut(List[int]) 

def f(x: sequence) -> sequence: 
    return x[1:] 

그냥 내가 새로운 클래스 Sequence을 정의하지 않으려는, 명확하게하고 싶은 쓰기, 난 그냥 원하는 더 쉽게 읽을 수있는 기능의 서명.

답변

1

예, 당신은 Type Aliases을 찾고 있습니다. 다행스럽게도 그들은 새로운 이름을 할당함으로써 유형에 대한 힌트의 역할을 할 수 있으므로 매우 직선적입니다. 나는 12 분 안에 답을 받아 들일 수

from typing import List 
Vector = List[float] 

def scale(scalar: float, vector: Vector) -> Vector: 
    return [scalar * num for num in vector] 
+0

:

워드 프로세서에서 제공되는 예는 후있어 정확히 물건의 예를 제공합니다. – Antoine

+0

@Antoine 그럼 그럴 필요가 없습니다. 스택 오버플로에 대한 대답을 수락하여 시간을내어 많은 사람들이 질문을하고 대안이 필요하다고 생각하면 해결책을 제시하십시오. –