개발/Python

Python에서 여러 줄 주석을 만드는 방법이 있습니까?

MinorMan 2020. 9. 18. 03:39
반응형

<질문>

최근에 파이썬 공부를 시작했지만 여러 줄 주석을 구현하는 방법을 찾을 수 없었습니다. 대부분의 언어에는 다음과 같은 블록 주석 기호가 있습니다.

/*

*/

파이썬에서 이것을 시도했지만 오류가 발생하므로 이것이 올바른 방법이 아닐 수 있습니다. 파이썬에는 실제로 여러 줄 주석 기능이 있습니까?


<답변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 + #을 사용할 수 있습니다.

반응형