<질문>
최근에 파이썬 공부를 시작했지만 여러 줄 주석을 구현하는 방법을 찾을 수 없었습니다. 대부분의 언어에는 다음과 같은 블록 주석 기호가 있습니다.
/*
*/
파이썬에서 이것을 시도했지만 오류가 발생하므로 이것이 올바른 방법이 아닐 수 있습니다. 파이썬에는 실제로 여러 줄 주석 기능이 있습니까?
<답변1>
삼중 따옴표로 묶인 문자열을 사용할 수 있습니다. 독 스트링 (클래스 / 함수 / 모듈의 첫 번째 항목)이 아니면 무시됩니다.
'''
This is a multiline
comment.
'''
(IndentationError를 피하기 위해 선행 '' '을 적절하게 들여 쓰기하십시오.)
Guido van Rossum (Python 제작자)은 이것을 "프로 팁"으로 트윗했습니다.
그러나 Python의 스타일 가이드 인 PEP8은 연속적인 한 줄 주석을 사용하는 것을 선호하며, 이것은 또한 많은 프로젝트에서 찾을 수있는 것입니다. 텍스트 편집기에는 일반적으로이 작업을 쉽게 수행 할 수있는 바로 가기가 있습니다.
<답변2>
파이썬은 독 스트링으로 사용하지 않는 한 여러 줄 문자열이 바이트 코드를 생성하지 않는다는 의미에서 여러 줄 문자열 / 주석 구문을 가지고 있습니다. 실제로 주석과 똑같이 작동합니다.
반면에이 동작이 진정한 주석 구문이되기 위해 공식 문서에 문서화되어야한다고 말하면 그렇습니다. 언어 사양의 일부로 보장되지 않는다고 말하는 것이 옳습니다.
어떤 경우 든 텍스트 편집기는 선택한 영역을 쉽게 주석 처리 할 수 있어야합니다 (각 줄 앞에 개별적으로 #를 배치하여). 그렇지 않은 경우 텍스트 편집기로 전환하십시오.
특정 텍스트 편집 기능없이 Python으로 프로그래밍하는 것은 고통스러운 경험이 될 수 있습니다. 올바른 편집기를 찾고 사용하는 방법을 아는 것은 Python 프로그래밍 경험이 인식되는 방식에 큰 차이를 만들 수 있습니다.
텍스트 편집기는 선택한 영역을 주석 처리 할 수있을뿐만 아니라 코드 블록을 왼쪽과 오른쪽으로 쉽게 이동할 수 있어야하며 Enter 키를 누르면 커서가 현재 들여 쓰기 수준에 자동으로 배치되어야합니다. 코드 접기도 유용 할 수 있습니다.
링크 붕괴로부터 보호하기 위해 Guido van Rossum의 트윗 내용은 다음과 같습니다.
@BSUCSClub Python 팁 : 여러 줄 문자열을 여러 줄 주석으로 사용할 수 있습니다. 독 스트링으로 사용하지 않으면 코드를 생성하지 않습니다! :-)
<답변3>
받아 들여진 대답에서 ...
삼중 따옴표로 묶인 문자열을 사용할 수 있습니다. 독 스트링 (클래스 / 함수 / 모듈의 첫 번째 항목)이 아니면 무시됩니다.
이것은 사실이 아닙니다. 주석과 달리 삼중 따옴표로 묶인 문자열은 여전히 구문 분석되며 소스 코드에서 나타나는 위치에 관계없이 구문 상 유효해야합니다.
이 코드를 실행하려고하면 ...
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
... Python 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()
<답변4>
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
"""
<답변5>
AFAIK, Python에는 블록 주석이 없습니다. 개별 줄에 주석을 달려면 # 문자를 사용할 수 있습니다.
Notepad ++를 사용하는 경우 블록 주석 달기에 대한 바로 가기가 있습니다. 나는 gVim과 Emacs와 같은 다른 사람들이 비슷한 기능을 가지고 있다고 확신합니다.
<답변6>
여러 줄 문자열이 처리되지 않는 것을 제외하고는 그렇지 않다고 생각합니다. 그러나 대부분의 Python IDE에는 여러 줄의 코드를 '주석 처리'하는 단축키가 있습니다.
<답변7>
댓글을 달면
"""
long comment here
"""
스크립트 중간에 Python / linters는이를 인식하지 못합니다. 위의 주석은 표준 권장 사항의 일부가 아니므로 접기가 엉망이됩니다. 사용하는 것이 좋습니다
# Long comment
# here.
Vim을 사용하는 경우 commentary.vim과 같은 플러그인을 사용하여 Vjgcc를 눌러 긴 줄의 주석을 자동으로 주석 처리 할 수 있습니다. Vj는 두 줄의 코드를 선택하고 gcc는 주석 처리합니다.
위와 같은 플러그인을 사용하지 않으려면 검색을 사용하고 다음과 같이 바꿀 수 있습니다.
:.,.+1s/^/# /g
그러면 현재 및 다음 줄의 첫 번째 문자가 #으로 바뀝니다.
<답변8>
여러 줄 주석과 같은 기능은 없습니다. #은 한 줄의 코드에 주석을 달 수있는 유일한 방법입니다. 많은 분들이 해결책으로 '' '댓글' ''에 답하셨습니다.
작동하는 것처럼 보이지만 Python에서 내부적으로 '' '는 인터프리터가 #을 사용하여 주석처럼 무시하지 않는 일반 문자열로 묶인 줄을 사용합니다.
여기에서 공식 문서를 확인하십시오.
<답변9>
불행히도 문자열 화는 항상 주석 처리로 사용될 수는 없습니다! 따라서 각 줄 앞에 #을 붙이는 표준을 따르는 것이 더 안전합니다.
다음은 예입니다.
test1 = [1, 2, 3, 4,] # test1 contains 4 integers
test2 = [1, 2, '''3, 4,'''] # test2 contains 2 integers **and the string** '3, 4,'
<답변10>
글쎄, 당신은 이것을 시도 할 수 있습니다 (따옴표를 실행할 때 첫 번째 질문에 대한 입력은 '로 인용되어야 함) :
"""
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)
"" "사이에있는 것은 모두 주석 처리됩니다.
한 줄 주석을 찾고 있다면 #입니다.
<답변11>
Visual Studio Code 범용 공식 여러 줄 주석 토글.
macOS : 코드 블록을 선택한 다음 ⌘ + /
Windows : 코드 블록을 선택한 다음 Ctrl + /
<답변12>
Python의 여러 줄 주석 :
저에게는 '' '와 "" "가 모두 작동했습니다.
예:
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)
<답변13>
Python의 인라인 주석은 해시 문자로 시작합니다.
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)
Hello World
독 스트링을 지원하려면 텍스트를 세 개의 큰 따옴표로 묶습니다.
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"))
안녕 존!
블록 주석의 경우 텍스트를 작은 따옴표 3 개로 묶습니다.
'''
I don't care the parameters and
docstrings here.
'''
<답변14>
Python 2.7.13에서 :
단일:
"A sample single line comment "
여러 줄 :
"""
A sample
multiline comment
on PyCharm
"""
<답변15>
예, 다음 두 가지를 모두 사용해도 좋습니다.
'''
Comments
'''
과
"""
Comments
"""
그러나 IDE에서 실행하는 동안 기억해야 할 유일한 것은 전체 파일을 '실행'해야 여러 줄 코드로 허용된다는 것입니다. 한 줄씩 'RUN'이 제대로 작동하지 않고 오류가 표시됩니다.
<답변16>
여러 줄 주석에 "" "를 사용하지 않는 것이 좋습니다.
다음은 예상치 못한 동작으로 간주 될 수있는 것을 강조하는 간단한 예입니다.
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
다중 행 문자열은 주석으로 처리되지 않았지만 '분명히 나도 문자열'과 연결되어 단일 문자열을 형성했습니다.
여러 줄을 주석 처리하려면 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
<답변17>
PyCharm IDE 사용.
Ctrl + /를 사용하여 코드 줄에 주석을 달고 주석을 제거 할 수 있습니다. Ctrl + /는 한 줄 주석으로 현재 줄 또는 선택한 여러 줄에 주석을 달거나 주석 해제합니다 (Django 템플릿에서는 {#, Python 스크립트에서는 #). Django 템플릿에서 선택한 소스 코드 블록에 대해 Ctrl + Shift + /를 누르면 블록이 {% comment %} 및 {% endcomment %} 태그로 둘러싸여 있습니다.
n = 5
while n > 0:
n -= 1
if n == 2:
break
print(n)
print("Loop ended.")
모든 줄을 선택한 다음 Ctrl + /를 누릅니다.
<답변18>
Python에서 여러 줄의 코드를 주석 처리하려면 모든 줄에 # 한 줄 주석을 사용하면됩니다.
# This is comment 1
# This is comment 2
# This is comment 3
파이썬에서 "적절한"여러 줄 주석을 작성하려면 "" "구문으로 여러 줄 문자열을 사용하는 것입니다. Python에는 문서 문자열 (또는 독 스트링) 기능이 있습니다. 프로그래머가 모든 Python 모듈에 빠른 메모를 추가 할 수있는 쉬운 방법을 제공합니다. 함수, 클래스 및 방법.
'''
This is
multiline
comment
'''
또한 다음과 같은 클래스 객체로 독 스트링에 액세스 할 수 있습니다.
myobj.__doc__
<답변19>
여러 줄 주석은 실제로 Python에 존재하지 않습니다. 아래 예제는 구문 오류에 대해 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는 블록 주석 해제 용입니다.
<답변20>
다른 답변 중에서 가장 쉬운 방법은 #의 Python 주석 지원을 사용하는 IDE 주석 함수를 사용하는 것입니다.
Anaconda Spyder를 사용하고 있으며 다음과 같습니다.
단일 / 다중 라인 / s 코드를 #으로 주석 처리 / 주석 해제합니다.
가장 쉬운 방법입니다.
예를 들어, 블록 주석 :
# =============================================================================
# Sample Commented code in spyder
# Hello, World!
# =============================================================================
<답변21>
다음을 사용할 수 있습니다. 이것을 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__
<답변22>
코드가있는 줄에 주석을 작성하는 경우 # 기호 앞에 2 개의 공백을두고 # 기호 앞에 1 개의 공백을 남겨두고 주석을 작성해야합니다.
print("Hello World") # printing
새 줄에 주석을 작성하는 경우 # 기호에 공백을 1 개 남기고 주석을 작성해야합니다.
# single line comment
한 줄보다 긴 주석을 작성하려면 따옴표 3 개를 사용합니다.
"""
This is a comment
written in
more than just one line
"""
<답변23>
주석을 달고 자하는 줄을 선택한 다음 Ctrl +? Sublime Text 편집기에서 Python 코드에 주석을 달거나 주석을 제거합니다.
한 줄의 경우 Shift + #을 사용할 수 있습니다.
'개발 > Python' 카테고리의 다른 글
파이썬에서 "명명 된 튜플"이란 무엇입니까? (0) | 2020.09.18 |
---|---|
JSON 파일을 예쁜 인쇄하는 방법? (0) | 2020.09.18 |
Python에서 유형을 확인하는 표준 방법은 무엇입니까? (0) | 2020.09.18 |
파이썬에서 정수를 문자열로 변환 (0) | 2020.09.18 |