최근 Python 공부를 시작 했지만 여러 줄 주석을 구현하는 방법을 찾을 수 없습니다. 대부분의 언어에는 다음과 같은 블록 주석 기호가 있습니다.
/*
*/
파이썬에서 이것을 시도했지만 오류가 발생하므로 아마도 올바른 방법이 아닙니다. 파이썬에는 실제로 여러 줄 주석 기능이 있습니까?
최근 Python 공부를 시작 했지만 여러 줄 주석을 구현하는 방법을 찾을 수 없습니다. 대부분의 언어에는 다음과 같은 블록 주석 기호가 있습니다.
/*
*/
파이썬에서 이것을 시도했지만 오류가 발생하므로 아마도 올바른 방법이 아닙니다. 파이썬에는 실제로 여러 줄 주석 기능이 있습니까?
답변:
삼중 인용 문자열을 사용할 수 있습니다. 그것들이 docstring이 아닌 경우 (클래스 / 함수 / 모듈의 첫 번째) 무시됩니다.
'''
This is a multiline
comment.
'''
( '''
을 피하기 위해 행간을 적절히 들여 쓰십시오 IndentationError
.)
귀도 반 로섬 (파이썬의 제작자) 은 이것을 "프로 팁"으로 트윗했습니다 .
그러나 파이썬의 스타일 가이드 PEP8 은 연속적인 한 줄 주석 사용을 선호하며 많은 프로젝트에서 찾을 수 있습니다. 텍스트 편집기에는 일반적으로이 작업을 쉽게 수행 할 수있는 바로 가기가 있습니다.
test.py
. 내가 할 때 import test
하는 test.pyc
파일이 생성됩니다. 불행히도 pyc
파일은 크기가 커서 전체 문자열을 일반 텍스트로 포함합니다. 내가 뭔가를 잘못 이해하고 있습니까, 아니면이 트윗이 틀렸습니까?
pyc
. 답을 편집하고“모듈”을 docstring이있는 것들의 목록에 넣었습니다.
"""
으로 docstrings 및 '''
블록 주석 에 사용 하는 것이 도움이된다고 생각합니다 . 이러한 방식으로 '''
일반적인 docstring을 충돌없이 감쌀 수 있습니다 .
#
.
파이썬은 가지고 여러 문자열 / 주석 구문 문서화 문자열로 사용하지 않는 것을 의미에서를 여러 줄 문자열이 더 바이트 코드를 생성하지 것처럼 - #
-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()
r'raw string'
- 를 사용할 수 있습니다 r'\xor' == '\\xor'
.
'''
"설명"에는 더 많은 제한이 있습니다. 주석은 표현의 일부만 주석 처리 할 수있는 반면 주석은 표현의 일부를 주석 처리 할 수 있습니다. 예 : C에서 일부 목록 요소를 주석 처리 할 수 있습니다 int a[] = {1, 2, /* 3, 4, */ 5};
. 다중 줄 문자열을 사용하면 목록에 문자열을 넣을 수 있으므로 그렇게 할 수 없습니다.
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
"""
weather2
주석은 클래스에서 첫 번째이므로 주석입니다.
AFAIK, Python에는 블록 주석이 없습니다. 개별 행에 주석을 달기 위해 #
문자를 사용할 수 있습니다 .
당신이 사용하는 경우 메모장 ++ , 블록 주석에 대한 바로 가기가 있습니다 . gVim 및 Emacs 와 같은 다른 사람들 도 비슷한 기능을 가지고 있다고 확신 합니다.
댓글을 달면
"""
long comment here
"""
스크립트 중간에 파이썬 / 리터는이를 인식하지 못합니다. 위의 주석이 표준 권장 사항의 일부가 아니므로 접기가 엉망이됩니다. 사용하는 것이 좋습니다
# Long comment
# here.
Vim 을 사용하는 경우 commentary.vim 과 같은 플러그인 을 눌러 긴 주석 행을 자동으로 주석 처리 할 수 있습니다 Vjgcc
. 어디 Vj
를 선택 두 줄의 코드, 그리고 gcc
밖으로 의견을.
위와 같은 플러그인을 사용하지 않으려면 검색을 사용하고 다음과 같이 바꿀 수 있습니다
:.,.+1s/^/# /g
현재 행과 다음 행의 첫 문자가로 바뀝니다 #
.
여러 줄 주석과 같은 기능은 없습니다. #
한 줄의 코드에 주석을 달 수있는 유일한 방법입니다. 많은 사람들이 해결책으로 '' ''의견 ''이라고 대답했습니다.
작동하는 것처럼 보이지만 내부적 '''
으로 파이썬에서는 행을 일반 문자열로 묶어서 인터프리터가 주석을 무시하는 것처럼 무시하지 않습니다 #
.
글쎄, 당신은 이것을 시도 할 수 있습니다 (인용을 실행할 때 첫 번째 질문에 대한 입력은로 인용해야합니다 '
)
"""
print("What's your name? ")
myName = input()
print("It's nice to meet you " + myName)
print("Number of characters is ")
print(len(myName))
age = input("What's your age? ")
print("You will be " + str(int(age)+1) + " next year.")
"""
a = input()
print(a)
print(a*5)
사이에 동봉 된 """
것은 주석 처리됩니다.
한 줄짜리 주석을 찾고 있다면 #
입니다.
파이썬에서 여러 줄 주석 :
나를 위해 '' '와 "" "모두 작동했습니다.
예:
a = 10
b = 20
c = a+b
'''
print ('hello')
'''
print ('Addition is: ', a+b)
예:
a = 10
b = 20
c = a+b
"""
print('hello')
"""
print('Addition is: ', a+b)
파이썬에서 인라인 주석은 해시 문자로 시작합니다.
hello = "Hello!" # This is an inline comment
print(hello)
여보세요!
문자열 리터럴 내의 해시 문자는 해시 문자 일뿐입니다.
dial = "Dial #100 to make an emergency call."
print(dial)
긴급 전화를 걸려면 # 100을 다이얼하십시오.
단일 또는 여러 줄 주석에 해시 문자를 사용할 수도 있습니다.
hello = "Hello"
world = "World"
# First print hello
# And print world
print(hello)
print(world)
여보세요
세계
docstring을 지원하기 위해 텍스트를 세 개의 큰 따옴표로 묶으십시오.
def say_hello(name):
"""
This is docstring comment and
it's support multi line.
:param name it's your name
:type name str
"""
return "Hello " + name + '!'
print(say_hello("John"))
안녕 존!
블록 주석을 위해 텍스트를 삼중 작은 따옴표로 묶습니다.
'''
I don't care the parameters and
docstrings here.
'''
예, 둘 다 사용하는 것이 좋습니다 :
'''
Comments
'''
과
"""
Comments
"""
그러나 IDE에서 실행하는 동안 모두 기억해야 할 것은 여러 줄 코드로 받아들이 기 위해 전체 파일을 '실행'해야한다는 것입니다. 줄 단위로 'RUN'이 제대로 작동하지 않고 오류가 표시됩니다.
파이썬에서 여러 줄의 코드를 주석 처리하려면 #
모든 줄에 한 줄 주석을 사용하십시오 .
# This is comment 1
# This is comment 2
# This is comment 3
파이썬에서 "적절한"여러 줄 주석을 작성하려면 """
구문에 여러 줄 문자열을 사용하는 것이 중요합니다. 파이썬에는 문서 문자열 (또는 문서 문자열) 기능이 있습니다. 프로그래머가 모든 Python 모듈, 함수, 클래스 및 메소드에 빠른 메모를 추가하는 쉬운 방법을 제공합니다.
'''
This is
multiline
comment
'''
또한 다음과 같은 클래스 객체로 docstring에 액세스 할 수 있다고 언급하십시오.
myobj.__doc__
다음을 사용할 수 있습니다. 이것을 DockString이라고합니다.
def my_function(arg1):
"""
Summary line.
Extended description of function.
Parameters:
arg1 (int): Description of arg1
Returns:
int: Description of return value
"""
return arg1
print my_function.__doc__
"""
여러 줄 주석 에 사용하지 않는 것이 좋습니다 !
다음은 예상치 못한 동작으로 간주 될 수있는 사항을 강조하는 간단한 예입니다.
print('{}\n{}'.format(
'I am a string',
"""
Some people consider me a
multi-line comment, but
"""
'clearly I am also a string'
)
)
이제 출력을 살펴보십시오.
I am a string
Some people consider me a
multi-line comment, but
clearly I am also a string
여러 줄 문자열은 주석으로 처리되지 않았지만 'clearly I'm also a string'
단일 문자열을 구성하기 위해 연결되었습니다 .
PEP 8 지침 에 따라 여러 줄로 주석을 달려면 다음을 수행하십시오 .
print('{}\n{}'.format(
'I am a string',
# Some people consider me a
# multi-line comment, but
'clearly I am also a string'
)
)
산출:
I am a string
clearly I am also a string
lang-bash
"대신 " bash
" 구문 강조 하시나요? 어쨌든 실제로 매개 변수가있는 명령 행 명령 인 경우에도 일반적으로 이상하게 보입니다 (예 : "일부" ). lang-none
(구문 강조 표시가 해제 됨)가 더 나은 선택 일 수 있습니다.
PyCharm IDE 사용
당신은 할 수
comment
및uncomment
사용하여 코드의 라인 Ctrl 키 + /을. Ctrl + / 는 현재 줄 또는 선택된 여러 줄을 한 줄 주석으로 주석 처리하거나 주석 해제합니다({# in Django templates, or # in Python scripts)
.Pressing Ctrl+Shift+/
Django 템플릿에서 선택된 소스 코드 블록에 대해{% comment %} and {% endcomment %}
태그로 블록을 둘러 쌉니다 .
n = 5
while n > 0:
n -= 1
if n == 2:
break
print(n)
print("Loop ended.")
모든 줄을 선택한 후 Ctrl + /
# n = 5
# while n > 0:
# n -= 1
# if n == 2:
# break
# print(n)
# print("Loop ended.")
여러 줄 주석은 실제로 파이썬에는 존재하지 않습니다. 아래 예제는 할당되지 않은 문자열로 구성되며 구문 오류에 대해 Python에서 유효성을 검사합니다.
Notepad ++ 와 같은 일부 텍스트 편집기 는 작성된 코드 나 단어를 주석 처리하는 바로 가기를 제공합니다.
def foo():
"This is a doc string."
# A single line comment
"""
This
is a multiline
comment/String
"""
"""
print "This is a sample foo function"
print "This function has no arguments"
"""
return True
또한 Ctrl+ K는 메모를 차단하는 메모장 ++의 바로 가기입니다. #
선택 항목 아래의 모든 줄 앞에 추가합니다 . Ctrl+ Shift+ K는 주석 처리를 제거합니다.
다른 답변 중에서 가장 쉬운 방법은 Python 주석 지원을 사용하는 IDE 주석 기능을 사용하는 것입니다 #
.
Anaconda Spyder를 사용하고 있으며 다음과 같습니다.
단일 / 여러 줄의 코드를 주석 처리하거나 주석 처리를 제거합니다 #
.
가장 쉬운 방법이라고 생각합니다.
예를 들어, 블록 주석 :
# =============================================================================
# Sample Commented code in spyder
# Hello, World!
# =============================================================================
주석을 추가 할 행을 선택한 다음 Ctrl+ ?를 사용 하여 Sublime Text 편집기 에서 Python 코드를 주석 또는 주석 해제하십시오 .
한 줄에 Shift+ 를 사용할 수 있습니다 #.
#
주석을 만드는 유일한 방법입니다. 이런 식으로 파이썬 스크립트를 더 쉽게 해석 할 수 있다고 생각합니다.