Python

[Python] 주석

뉴비션 2024. 7. 3. 02:36

요약

한 줄 주석: # 사용
여러 줄 주석: 없다. 대신 """ """(여러 줄 문자열) 사용

 

 

 

한 줄 주석

파이썬에서 한 줄 주석을 사용하기 위해서는 문장 맨 앞에 #을 사용하면 된다.

# hello를 출력하시오
print('hello')

위와 같이 한 줄 전체를 주석 처리할 수도 있고 아래와 같이 한 줄의 일부만 주석 처리를 할 수도 있다.

print('hello') # hello를 출력하는 구문

 

하지만 PEP8에 의하면 인라인 주석은 되도록이면 삼가하라고 되어있다.

Inline Comments

Use inline comments sparingly.

 

 

 

여러 줄 주석

파이썬에는 여러 줄 주석이 없다.

엥? 여러 줄 주석 있던데?


>> 그건 주석이 아닙니다!!

 

대신 여러 줄 문자열을 사용해 주석처럼 사용한다.

 

이름 그대로 문자열이기 때문에 print를 사용하면 출력이 가능하고, listdictionary안에서 주석으로 활용할 수 없다.

 

맨 처음 파이썬을 공부하면서 여러 줄 주석을 파이썬에선 어떻게 하는지 찾아봤을 때 """ """ 이 방식처럼 따옴표 세 개를 써서 사용하는 것을 많이 알려준다.

 

그런데 이때 의문이 들었던 것이 따옴표 세 개를 사용하는건 JavaScript의 백틱(``)처럼 문자열을 여러줄로 쓸 수 있게 해주는 역할인 걸로 알았는데 어떻게 이걸 주석으로 인식하지? 였다.

 

하지만 그냥 되니까 따로 알아볼 생각을 하지 않고 넘어갔다. 거기에다 내가 주석처리가 된거라고 당연하게 믿었던(속았던?) 이유는 이 따옴표 세 개를 적절한 위치에 사용하면 docstring작성이 된다는 거였다.

def sum(a, b):
    """
    a: number
    b: number
    a와 b를 더한 값을 return 하는 함수
    """
    return a + b

내가 이 당연하지만 당연하지 않게 여긴 여러줄 문자열 형식을 깨달은건 배열안에서 주석을 사용하려고 할 때였다.

info = [
    # user name
    name,
    # user age
    age
    # user gender
    gender
]

위 와 같이 한줄 주석을 했을 땐 아무런 오류가 표기되지 않았다.

그런데 나는 이 한 줄 주석을 여러 줄 주석을 써서 좀 더 이쁘게 하고 싶어서 수정을 했다.

info = [
    """
    user name
    """
    name,
    # user age
    age
    # user gender
    gender
]

이렇게 변경하려고 하는 순간 "[" was not closed 이와 같은 에러가 났다. 순간 뭐지? 싶었다.

분명히 주석을 달고 있었는데? 왜지? 하면서 구글링해본 결과 나는 주석이 아닌 문자열을 입력하고 있었던 것이다.

따옴표 세 개를 사용하는건 JavaScript의 백틱(``)처럼 문자열을 여러줄로 쓸 수 있게 해주는 역할인 걸로 알았는데 어떻게 이걸 주석으로 인식하지?

이 의문을 조금만 관심가지고 더 알아봤더라면 범하지 않을 실수였지만 오래 삽질한것도 아니었고 그냥 살짝 허탈하고 어이없어서 실소가 나오는 정도여서 그나마 다행이었다.

 

나같은 실수(생각)를 다른 사람들이 하지 않길 바라며 블로그에 글을 작성한다.