본문 바로가기
IT/Python

파이썬 1줄 코드 중간에 주석 달기

by 큰공 2021. 8. 22.
728x90
반응형

 

들어가며

 파이썬을 공부 하면서 코드 중간에 주석달기를 하고 싶은데, 여러가지 찾아봐도 한글로 된 문서는 존재 하지 않길래 관련 부분에 대해서 기술하고자 합니다.

 

파이썬 주석 달기

 먼저 기본적인 파이썬 주석 달기를 알아보도록 하겠습니다.

 

 1) 한 줄 주석(#)

 

# Hello coinpipe.py
print('coin pipe')

 

 첫 번째 줄에 샵(#)으로 시작하는 부분이 있죠. 여기가 주석 그 중에서 한 줄 주석입니다. 컴퓨터가 읽지 못한다고 했잖아요. 그러기 위해서는 컴퓨터에게 읽지 말라고 표시를 해줘야 하잖아요. 그것이 바로 샵(#)입니다.

 문장의 앞에 샵(#)을 붙이면 그 한 줄은 컴퓨터가 읽지 않게 됩니다.

 

 소스 코드 맨 앞에 #을 하면 그 줄 전체가 주석이 됩니다.

 

2) 여러 줄 주석(”’ ”’)

 다음은 여러 줄 주석입니다. 주석을 조금 길기 해야 할 때도 있겠죠. 이럴 때 사용하는 것이 여러 줄 주석입니다. 여러 줄 주석은 시작부분에 작은 따옴표 3개 (”’) 로 열고 끝나는 부분에 다시 작은 따옴표 3개(”’)로 닫으면 됩니다.보통 위 처럼 작성을 하는데요.

 

'''
큰공과 함께하는 티끌모아티끌
많은 IT 정보와 잡다한 지식을 모아모아
파이썬 여러 줄 주석 어렵지 않죠?
'''

 

 많은 양의 메모를 하거나 소스 코드의 상당 부분을 주석 처리 해야 할 때 사용합니다.

 

JAVA / C 에서의 코드 한줄 가운데 주석

 코딩을 하다보면은 1줄 짜리 코드 중간에 주석을 하고 싶을 경우가 생기게 됩니다. 전체적인 코드의 틀은 유지하면서, 특정 조건에서만 주석을 하고자 할때 주로 사용합니다.

 

 하나의 예를 들어보겠습니다. 

 java 와 C 에서 a 와 b 가 동시에 0 이라는 조건이 있는데, 디버깅을 하다보니까, 잠시만 b가 0인 조건을 해제 하고 싶을떄 아래와 같이 코드 중간에 특정 부분만 주석을 하고 싶을 경우가 있습니다.

 바로,  if 의 끝 부분 ) 부분은 위치한체, 딱 가운데 조건만 주석을 하고 싶은 경우이죠.

 

if ( a == 0 /* && b == 0 */ )

 

 

파이썬에서 1줄 코드 중간에 주석 처리하기

 결론 부터 말씀드리면, 파이썬에서 1줄 코드 중간에 /* ~~~ */ 으로 주석 처리 할 수 있는 방법은 없습니다.

 

https://docs.python.org/3/reference/lexical_analysis.html#comments

 

2. Lexical analysis — Python 3.9.6 documentation

2. Lexical analysis A Python program is read by a parser. Input to the parser is a stream of tokens, generated by the lexical analyzer. This chapter describes how the lexical analyzer breaks a file into tokens. Python reads program text as Unicode code poi

docs.python.org

 

 파이썬 3.9.6 공식 문서에 관련 부분이 나와있어서 인용합니다.

2.1.3. Comments
A comment starts with a hash character (#) that is not part of a string literal, and ends at the end of the physical line. A comment signifies the end of the logical line unless the implicit line joining rules are invoked. Comments are ignored by the syntax.

 해석 해보면

2.1.3. 코멘트
주석은 문자열 리터럴의 일부가 아닌 해시 문자(#)로 시작하여 물리적 줄의 끝에서 끝납니다. 주석은 암시적 줄 결합 규칙이 호출되지 않는 한 논리 줄의 끝을 의미합니다. 주석은 구문에 의해 무시됩니다.

 

 즉, 주석을 나태나는 해시 문자 (#) 은, 물리적인 줄의 끝에서 그 종료가 이뤄지기때문에, 중간만 딱 잘라서 주석처리 할 수는 없습니다.

 

 

a = 0
b = 0

if a == 0 and b == 0 :
    print ('ture')

if a == 0 : # and b == 0 :
    print ('ture')

 

 결국 이런식으로 ":" 문자를 앞에서 한번 더 써줘야 하는 것이죠. 

 

맺으며

 

 파이썬에서

1줄 코드 중간에

주석 처리

할 수 있는

방법은

없습니다.

 

 

 

728x90
반응형

댓글