최근 Python 공부를 시작 했지만 여러 줄 주석을 구현하는 방법을 찾을 수 없습니다. 대부분의 언어에는 다음과 같은 블록 주석 기호가 있습니다.
/*
*/
파이썬에서 이것을 시도했지만 오류가 발생하므로 아마도 올바른 방법이 아닙니다. 파이썬에는 실제로 여러 줄 주석 기능이 있습니까?
답변
삼중 인용 문자열을 사용할 수 있습니다. 그것들이 docstring이 아닌 경우 (클래스 / 함수 / 모듈의 첫 번째) 무시됩니다.
'''
This is a multiline
comment.
'''
( '''
을 피하기 위해 행간을 적절히 들여 쓰십시오 IndentationError
.)
귀도 반 로섬 (파이썬의 제작자) 은 이것을 “프로 팁”으로 트윗했습니다 .
그러나 파이썬의 스타일 가이드 PEP8 은 연속적인 한 줄 주석 사용을 선호하며 많은 프로젝트에서 찾을 수 있습니다. 텍스트 편집기에는 일반적으로이 작업을 쉽게 수행 할 수있는 바로 가기가 있습니다.
답변
파이썬은 가지고 여러 문자열 / 주석 구문 문서화 문자열로 사용하지 않는 것을 의미에서를 여러 줄 문자열이 더 바이트 코드를 생성하지 것처럼 – #
-prepended 의견. 실제로 주석처럼 작동합니다.
반면, 공식 문서에이 동작이 실제 주석 구문이되도록 문서화되어야한다고 말하면 언어 사양의 일부로 보장되지 않는다고 말할 수 있습니다.
어쨌든, 텍스트 편집기는 선택한 영역을 쉽게 주석 처리 할 수 있어야합니다 ( #
각 줄 앞에 개별적 으로 배치 ). 그렇지 않으면 텍스트 편집기로 전환하십시오.
특정 텍스트 편집 기능이없는 파이썬 프로그래밍은 힘든 경험이 될 수 있습니다. 올바른 편집기를 찾고 사용법을 알고 있으면 Python 프로그래밍 경험을 인식하는 방법에 큰 차이가 생길 수 있습니다.
텍스트 편집기는 선택된 영역을 주석 처리 할 수있을뿐만 아니라 코드 블록을 왼쪽과 오른쪽으로 쉽게 이동할 수 있어야하며을 누를 때 커서를 현재 들여 쓰기 수준으로 자동 배치해야합니다 Enter. 코드 접기도 유용 할 수 있습니다.
링크 붕괴를 방지하기 위해 Guido van Rossum의 트윗 내용은 다음과 같습니다.
@BSUCSClub Python 팁 : 여러 줄 문자열을 여러 줄 주석으로 사용할 수 있습니다. docstring으로 사용되지 않으면 코드를 생성하지 않습니다! 🙂
답변
허용 된 답변에서 …
삼중 인용 문자열을 사용할 수 있습니다. 그것들이 docstring이 아닌 경우 (클래스 / 함수 / 모듈에서 가장 먼저) 무시됩니다.
이것은 단순히 사실이 아닙니다. 주석과 달리 트리플 따옴표로 묶인 문자열은 여전히 구문 분석되며 소스 코드에서 나타나는 위치에 관계없이 구문 상 유효해야합니다.
이 코드를 실행하려고하면 …
def parse_token(token):
"""
This function parses a token.
TODO: write a decent docstring :-)
"""
if token == '\\and':
do_something()
elif token == '\\or':
do_something_else()
elif token == '\\xor':
'''
Note that we still need to provide support for the deprecated
token \xor. Hopefully we can drop support in libfoo 2.0.
'''
do_a_different_thing()
else:
raise ValueError
당신은 얻을 것이다 …
ValueError: invalid \x escape
… Python 2.x 또는 …
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 79-80: truncated \xXX escape
… 파이썬 3.x에서.
파서에 의해 무시되는 여러 줄 주석을 수행하는 유일한 방법은 …
elif token == '\\xor':
# Note that we still need to provide support for the deprecated
# token \xor. Hopefully we can drop support in libfoo 2.0.
do_a_different_thing()
답변
Python 2.7에서 여러 줄 주석은 다음과 같습니다.
"""
This is a
multilline comment
"""
수업에 참여하는 경우 올바르게 탭해야합니다.
예를 들면 다음과 같습니다.
class weather2():
"""
def getStatus_code(self, url):
world.url = url
result = requests.get(url)
return result.status_code
"""
답변
AFAIK, Python에는 블록 주석이 없습니다. 개별 행에 주석을 달기 위해 #
문자를 사용할 수 있습니다 .
당신이 사용하는 경우 메모장 ++ , 블록 주석에 대한 바로 가기가 있습니다 . gVim 및 Emacs 와 같은 다른 사람들 도 비슷한 기능을 가지고 있다고 확신 합니다.
답변
여러 줄 문자열이 처리되지 않는다는 것을 제외하고는 그렇지 않습니다. 그러나 대부분의 Python IDE가 여러 줄의 코드를 ‘설명’할 수있는 단축키가 있습니다.
답변
댓글을 달면
"""
long comment here
"""
스크립트 중간에 파이썬 / 리터는이를 인식하지 못합니다. 위의 주석이 표준 권장 사항의 일부가 아니므로 접기가 엉망이됩니다. 사용하는 것이 좋습니다
# Long comment
# here.
Vim 을 사용하는 경우 commentary.vim 과 같은 플러그인 을 눌러 긴 주석 행을 자동으로 주석 처리 할 수 있습니다 Vjgcc
. 어디 Vj
를 선택 두 줄의 코드, 그리고 gcc
밖으로 의견을.
위와 같은 플러그인을 사용하지 않으려면 검색을 사용하고 다음과 같이 바꿀 수 있습니다
:.,.+1s/^/# /g
현재 행과 다음 행의 첫 문자가로 바뀝니다 #
.