728x90
반응형
project_azua github 코드를 분석하던 중 함수에서 -> symbol을 만나게 되었다.
예전에는 그냥 무심코 지나갔었는데 코드를 하나하나 분석하다보니 궁금증이 생겼다.
파이썬은 다른 언어에 비해 문법의 제약이 적은 편이다.
이로인해 유연성이 높고 쉬운 반면 작성된 코드를 봤을 때 해석하기에 비교적 모호할 수가 있다.
예를 들면 파이썬에서는 함수를 선언 할 때 파라미터의 타입을 따로 지정할 필요가 없어 개발자는 신경 쓸 부분이 훨씬 적다.
그러나 코드 작성자가 아닌 다른 개발자는 코드를 봤을 때 어떤 타입형이 들어가야 직관적으로 알기 힘들다.
따라서 이런 문제를 해결해주기 위해 사용하는 기능이 바로 "Function Annotation"이다. (Type hints)
공식 문서의 예시를 통해서 function annotation이 무엇인지 한 번 살펴보자.
def sum_two_numbers(a: int, b: int) -> int:
return a + b
함수를 보면 입력 인자에 a : int, b : int라고 적혀있는 것을 볼 수 있다.
이는 바로 입력 인자에 들어와야 할 타입형이 무엇인지를 사용자에게 알려주는 것이다!
-> int의 경우에는 return되는 값의 타입형을 알려주는 것이다!
그러나 Function Annotation은 말그대로 정보를 전달해주는 역할이다.
따라서 강제성이 전혀 없다!
지정되어있는 타입형이 아니더라도 코드 상 오류가 나지 않으면 문제가 없이 돌아간다.
말그대로 함수를 설명해주는 주석이라고 생각하면 될 것 같다.
728x90
반응형