Python에서 코드 블록을 주석하는 방법 [복제
문제
이 질문은 이미 여기에 답이 있습니다.
큰 파이썬 코드 블록을 주석화시키는 메커니즘이 있습니까?
지금, 코드를 댓글을달라고 할 수있는 유일한 방법은 모든 라인을 #
, 또는 코드를 트리플 따옴표로 동봉하려면 : """
.
이것의 문제는 삽입하는 것입니다 #
모든 줄이 번거롭기 전에 """
주석으로 사용하려는 문자열이 생성 된 문서에 표시됩니다.
모든 의견을 읽은 후에는 대답이 "아니오"인 것 같습니다.
해결책
파이썬에는 그러한 메커니즘이 없습니다. Prepend a #
주석을 차단하기 위해 각 줄에. 자세한 내용은 참조하십시오 PEP 8. 대부분의 Python IDE는 귀하를 위해 자동으로 블록 커미닝-파운드 신호를 수행하는 메커니즘을 지원합니다. 예를 들어, 내 컴퓨터의 유휴 상태에서 대체+3 그리고 대체+4.
트리플 퀘스트를 사용하지 마십시오. 당신이 발견 한 바와 같이, 이것은 댓글을 차단하지 않는 문서 문자열을위한 것입니다. 일시적으로 물건을 언급하고 있다면 임시 조치로 괜찮습니다.
다른 팁
내가 이것에 대해 아는 유일한 치료법은 좋은 편집자입니다. 죄송합니다.
Docstring으로 오해되지 않는 상황에서 트리플 인용문을 숨기십시오.
'''
...statements...
''' and None
또는:
if False: '''
...statements...
'''
MX Comment-Region, in EMACS'파이썬 모드.
JetBrains에서 Mac 사용에 대한 Pycharm 명령 + / 선택한 코드 블록을 주석/무책임합니다. Windows에서 사용합니다 CTRL 키 + /.
적어도 VIM에서는 블록 비주얼 모드를 사용하여 삽입하려는 텍스트의 첫 번째 열을 선택할 수 있습니다 (CTRL+V
비 창에서 vims)에서 prepend a #
이 시퀀스를 사용하여 각 라인 전에 :
I#<esc>
블록 시각 모드에서 I
첫 번째 줄의 블록 앞에 커서를 사용하여 모드 삽입 모드로 이동합니다. 삽입 된 텍스트는 전에 복사되었습니다 각 블록에 줄을 긋습니다.
comm='''
Junk, or working code
that I need to comment.
'''
당신은 교체 할 수 있습니다 comm
아마도 더 짧고 터치가 쉽게 터치하기 쉬우 며 프로그램에서는 발생하지 않는다는 것을 알고 있습니다. 예 : xxx
, oo
, null
, nil
.
예, 편집자에 따라 다릅니다. ~ 안에 pydev (그리고 내 Aptana Studio pydev) : :
Ctrl 키 + 4 - 선택한 블록 주석
Ctrl 키 + 5 - 선택한 블록
비주얼 스튜디오에서 비주얼 스튜디오를위한 파이썬 도구, 블록은 주석을 달 수 있습니다 Ctrl 키+케이, Ctrl 키+씨 그리고 무의미한 Ctrl 키+케이, Ctrl 키+유.
나는 사용한다 메모장 ++ Windows 시스템에서 코드를 선택하고 CTRL-K
. 타협하려면 코드를 선택하고 누릅니다 Ctrl 키 + 옮기다 + 케이.
또한 메모장 ++는 파이썬 편집기로 잘 작동합니다. 자동 완성, 코드 폴딩, 구문 강조 표시 등이 있습니다. 그리고 그것은 연설과 맥주와 마찬가지로 무료입니다!
트리플 인용문은 나에게 괜찮습니다. docstrings에는 '' 'foo' '', 댓글에 "" "bar" ""를 사용하거나 코드를 더 읽기 쉽게 만들 수 있습니다.
다른 편집기 기반 솔루션 : EMAC의 텍스트 "사각형".
댓글을 달려야 할 코드를 강조한 다음 CXRT #
코드를 사용하지 않으려면 : 하이라이트, CXRK
나는 매일 하루 종일 사용합니다. (물론 핫키에 할당)
이 강력한 Regex 검색/교체는 EMACS의 다른 "편심"을 용인하는 이유입니다.
ERIC4에는 쉬운 방법이 있습니다 : 블록을 선택하고 타이핑 Ctrl 키+중 전체 블록에 주석 또는 Ctrl 키+대체+중 타협합니다.
멋진 편집기를 사용하십시오 스카이트, 코드를 선택하고 누릅니다 Ctrl 키 + 큐 그리고 끝났습니다.
블록 댓글을 지원하는 편집기가없는 경우 시작시 트리플 인용 문자열과 코드 블록의 끝을 사용하여 '효과적으로'댓글을 달 수 있습니다. 그래도 모범 사례는 아닙니다.