Python
[python] 함수 정의시 화살표(->)와 콜론(:) 의미
lim
2022. 5. 5. 14:22
반응형
Leetcode를 풀던중 생소한 문법이 보였다.
def push(self, x: int) -> None:
self.queue.append(x)
python3 함수 정의시 -> (화살표)
python3에서는 함수 정의시 나타나는 화살표(->)는 함수 리턴 값의 주석 역할을 한다.
말그대로 주석이기 때문에 있으면 좋지만 없다고 문제가 되지는 않는다.
위 함수에서는 None 타입을 리턴하는 함수다.
python3 함수 정의시 : (콜론)
비슷한 역할로 콜론이 있다. 위 코드를 보면 x: int 라는 표현이 있는데, 이는 매개변수 x 타입에 대한 주석이다. 즉 x 값은 int로 들어올 것이다. 라는 의미다. 마찬가지로 주석이기 때문에 없다고 문제가 되지는 않는다.
만약 주석대로 코드가 작성되지 않으면?
# None 타입으로 리턴한다고 주석달고 1 리턴
def test(x:int)->None:
print("test")
return 1
# int형을 매개변수로 준다하면서 문자열 전달
print(test("str"))
>> test
>> 1
-> 정상 수행
말 그래돌 콜론(:) 과 화살표(->)는 주석의 역할만 한다. 즉 프로그램의 실행을 강제하지는 않는다. 위 처럼 매개변수를 int형으로 받겠다, 또는 리턴을 None으로 하겠다라는 주석이 있어도 주석의 역할만 할뿐 프로그램 수행에는 관여하지 않는다. 그러니 주석을 작성할 때는 헷갈리지 않도록 작성하는 것이 중요하겠다.
반응형