Hello Computer Vision

파이선 함수에서의 ->(화살표) , :(콜론) 의 쓰임 본문

딥러닝/파이썬

파이선 함수에서의 ->(화살표) , :(콜론) 의 쓰임

지웅쓰 2023. 2. 18. 16:43

이번에 object detection관련 공부를 하면서 custom dataset을 정의하는 과정에서 ->, :를 발견하여 공부해보려고 한다.

지금까지는 클래스를 정의하면서 따로 써본적이 한번도 없어서 일단 신기했다.

 

->(화살표)의 쓰임

함수 리턴 값의 주석역할을 한다.

def myfunction(x) -> str:
    return x, type(x)
    
 print(myfunction(3))
(3, <class 'int'>)

다음과 같이 주석으로 str이 리턴될 것이라고 알려줘도 에러값이 뜨지않는 것을 확인할 수 있다.

 

: (콜론)의 쓰임

화살표가 (->)가 리턴값에 대한 주석이었다면 콜론은 함수 매개변수에 대한 주석을 나타낸다

def myfunction(x : int) -> str:
    return x, type(x)

print(myfunction('hello'))
('hello', <class 'str'>)

다음과 같이 매개변수 x에 대해 int로 알려주고 str값을 넣어도 에러가 나타나지 않는다.

 

추가로 함수뿐만 아니라 변수를 정의할 때도 콜론이(:) 등장하기도 한다.

name:str = 11
print(name)
11

이와 같이 변수를 정의할 때 str로 정의한 후 int값을 아무 문제없다.

 

 

한마디로 ->, : 모두 코드의 가독성을 조금 더 높이기 위한 장치이다.