Python/Python Basic

파이썬 type hinting - 공부하는 도비

DOVISH WISDOM 2022. 12. 2. 16:32  
728x90
반응형

type hinting 이란, 말 그대로 파이썬 코드를 작성할 때 타입에 대한 힌트(정보)를 제공하는 것입니다. 

오늘은 파이썬 함수에 한정해서 type hinting에 대해 설명해보겠습니다. 

 

파이썬에 타입 힌팅이 추가되기 전에는, 주석을 사용하여 타입에 대한 정보를 줘야 했습니다.

코드를 직접 작성한 개발자에게는 도움이 될지는 모르지만, 정해진 표준이 없어서 개인마다 주석의 의미가  다르게 이해될 수 있었습니다. 

 

hint는 함수의 매개변수와 리턴 값의 자료형이 무엇인지 명시적으로 표현해줍니다. 

바로 예제를 보겠습니다.

def fun_mul(x : int) -> tuple:
    y1 = x * 100
    y2 = x * 200
    y3 = x * 300
    
    return y1, y2, y3

result = fun_mul(100)

print(result)
print(type(result))

함수 선언을 보면, 이때까지 본 적이 없는 화살표도 있고 형태가 다른 걸 확인할 수 있습니다.

type hintting은 아래 그림처럼 지정할 수 있습니다. 

 

아래 예제의 type hintting은 리턴 값이 총 3개라 리턴 타입이 tuple 임을 명시적으로 알려주는 역할을 합니다.  

 

여기서 주의할 점은 type hintting을 지키지 않아도 실직적인 오류가 발생하지 않는다는 것입니다. 

위 소스코드의 tuple을 list로 바꿔도 오류는 발생하지 않습니다. 

또한, 함수의 매개변수를 int형이 아닌 double형으로 선언해도 오류는 발생하지 않습니다. 

 

오류가 발생하지 않음

 

정리하면, type hintting은 코드를 작성을 더 수월하게 하고, 우리가 작성한 코드를 다른 개발자가 더 읽기 편하게 해주는 역할을 합니다.  

반응형