파이썬 주석을 사용하는 방법

파이썬 주석을 사용하는 방법

주석(Comment)

아무리 변수의 이름을 구체적으로 잘 지어도, 오랜 시간이 흐른 뒤 다시 코드를 보면 "이게 무슨 역할을 하던 코드지?"라는 생각이 자연스럽게 들 수 있다.

이런 문제들을 해결할 수 있도록 도와주는 것이 바로 '주석'이다.
주석이란 특정 코드가 무슨 일을 하는지 기록하는 것을 도와주며, 스크립트가 실행하는데 영향을 미치지 않는 텍스트이다.


주석 작성하기

파이썬에서 주석을 작성하는데 제일 많이 사용되는 방법이 새로운 줄에서 #을 사용하는 것이다. 파이썬에서 코드가 실행될 때 #으로 시작하는 모든 줄들은 실행에서 제외된다. 이렇게 새로운 줄에서 시작되는 주석을 파이썬에서는 블록 주석(block comment)라고 부른다.

또한 인라인 주석(in-line comment)라는 것도 존재하는데, 인라인 주석은 작성된 코드와 같은 줄에서 사용되는 주석을 의미한다.

블록과 인라인 주석의 예제는 다음과 같다.

# 이렇게 사용하면 블록 주석입니다.

phrase = "Hello, world."
print(phrase) # 이렇게 사용하면 인라인 주석입니다.

위 코드에서 변수 phraseprint(phrase)를 제외하고 # 뒤에 오는 모든 문자들은 주석처리가 되어 실행될 때 제외된다. 하지만 print("#1")처럼 문자열 안에 #이 포함되어 있다면 코드는 여전히 정상 작동한다.

일반적으로, 주석은 가능한 최대한 짧게 작성하는 것이 좋다. 하지만 주석을 작성하다보면 한 줄 이상의 주석을 작성할 필요가 있을 수도 있다. 이런 경우에는, 똑같이 #을 사용해 새로운 줄에서 주석을 시작하면 된다.

# 첫 번째 스크립트 입니다.
# 스크립트는 "Hello, world"라는 문구를 출력합니다.
# 벌써 스크립트보다 주석이 기네요!

phrase = "Hello, world."
print(phrase)

지금까지 본 것과 같이, 주석을 설명하는 용도로 사용할 수 있지만, 주석은 프로그램을 테스트할 때 특정 코드를 주석 처리하는 용도로도 사용이 가능하다. 특정 코드가 주석 처리되면, 프로그램은 주석 처리된 코드가 존재하지 않았던 것처럼 작동한다. 굳이 삭제하지 않아도 코드를 삭제한 것과 같은 효과를 낼 수 있는 것이다.

독스트링(docstring)을 사용하면 되지 않나요?
여기서 의문이 하나 들 수 있는데, 굳이 #을 여러 번 사용하지 않고 독스트링을 사용하면 되지 않을까 라고 생각이 들 수 도 있다. 독스트링을 사용해 여러 줄을 주석처리 할 수 있는 것은 사실이지만, PEP8에 따르면 독스트링은 모듈, 함수, 클래스, 혹은 클래스 안의 함수를 정의할 때 사용하는 문자라고 정의되어있다.

PEP8 컨벤션에 맞게 주석 작성하기

PEP8에 따르면, 주석은 항상 완전한 문장 형태를 갖추어야 하며 #과 주석의 첫 단어 사이에는 항상 한칸의 빈칸이 위치해야한다.

# PEP 8에 맞춰 작성된 주석.

#좋지 않은 주석

또한 인라인(in-line) 주석을 사용할 때는, 코드와 # 사이에 최소 두 칸의 빈 칸을 두기를 추천한다.

phrase = "Hello, world" # PEP8에서 추천하는 작성법.

print(phrase)# 그렇지 못한 작성법.

주석을 사용할 때는 '이 주석이 정말 필요한 주석일까'라는 의구심을 품어보아야 한다. 다음과 같은 코드를 한번 살펴보자.

# "Hello, world"를 출력.
print("Hello, world")

위와 같은 예제에서는 이미 코드가 어떻게 실행 될지 너무나도 명확히 보여주고 있기 때문에 위와 같은 주석을 사용하는 것은 전혀 의미가 없다. PEP8에서도 주석은 절약적으로 사용되어야 한다고 권고한다. 주석은 쉽게 이해하기 어려운 코드를 명확하게 하거나 특정 코드가 왜 이런 방식으로 사용되는지를 설명하기위해 사용된다는 것을 기억해야 한다.

Reference