[python] function annotation - 함수 선언 시 "->"와 ":"의 의미

Recorder·2021년 11월 28일
0

python함수의 기본형은 아래와 같다.

def func_name(params):
  return 0

그런데 python3부터는 매개변수 뒤에 : 표시가 붙거나, 함수명 뒤에 화살표(->) 표시가 붙을 때가 있다.

def func_name(param1 : int, param2 : str) -> int:
  return 0

이런 것들은 어떤 역할을 하는 것일까?


위와 같은 표현들은 function annoation으로 말 그대로 주석의 역할을 한다.
즉, 코드상 기능을 하지 않고 보충 설명을 해주는으로, 여기서 지정한 것과 다른 형태를 사용하더라도 문제 없이 작동한다.

우선 그 중 함수명 뒤의 화살표(->)의 경우, 해당 함수의 return 값의 형태에 대한 주석이다.

이는 아래와 같이 좀 더 복잡한 형태일 때 유용하게 사용할 수 있다.

def func_name(params) -> Tuple[float, float, float]:
  return test_loss, test_f1, test_acc

또한 : 의 경우 매개변수(parameter)의 형태에 대한 주석이다.

profile
기억은 나 대신 컴퓨터가

0개의 댓글