요약
한 줄 주석: # 사용
여러 줄 주석: 없다. 대신 """ """(여러 줄 문자열) 사용
한 줄 주석
파이썬에서 한 줄 주석을 사용하기 위해서는 문장 맨 앞에 #
을 사용하면 된다.
# hello를 출력하시오
print('hello')
위와 같이 한 줄 전체를 주석 처리할 수도 있고 아래와 같이 한 줄의 일부만 주석 처리를 할 수도 있다.
print('hello') # hello를 출력하는 구문
하지만 PEP8에 의하면 인라인 주석은 되도록이면 삼가하라고 되어있다.
Inline Comments
Use inline comments sparingly.
여러 줄 주석
파이썬에는 여러 줄 주석이 없다.
엥? 여러 줄 주석 있던데?
>> 그건 주석이 아닙니다!!
대신 여러 줄 문자열을 사용해 주석처럼 사용한다.
이름 그대로 문자열이기 때문에 print
를 사용하면 출력이 가능하고, list
나 dictionary
안에서 주석으로 활용할 수 없다.
맨 처음 파이썬을 공부하면서 여러 줄 주석을 파이썬에선 어떻게 하는지 찾아봤을 때 """ """
이 방식처럼 따옴표 세 개를 써서 사용하는 것을 많이 알려준다.
그런데 이때 의문이 들었던 것이 따옴표 세 개를 사용하는건 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의 백틱(``)처럼 문자열을 여러줄로 쓸 수 있게 해주는 역할인 걸로 알았는데 어떻게 이걸 주석으로 인식하지?
이 의문을 조금만 관심가지고 더 알아봤더라면 범하지 않을 실수였지만 오래 삽질한것도 아니었고 그냥 살짝 허탈하고 어이없어서 실소가 나오는 정도여서 그나마 다행이었다.
나같은 실수(생각)를 다른 사람들이 하지 않길 바라며 블로그에 글을 작성한다.
'Python' 카테고리의 다른 글
[Flask] Flask-Login (0) | 2024.03.27 |
---|---|
[Flask] Flask-HTTPAuth를 활용한 HTTP 기본 인증 (0) | 2024.03.26 |