programing

Python은 왜 여러 줄의 코멘트를 가지고 있지 않은가?

bestcode 2023. 1. 12. 22:14
반응형

Python은 왜 여러 줄의 코멘트를 가지고 있지 않은가?

좋아요, 세 개의 따옴표 문자열이 여러 줄의 코멘트 역할을 할 수 있다는 건 알고 있어요.예를들면,

"""Hello, I am a 
   multiline comment"""

그리고.

'''Hello, I am a 
   multiline comment'''

하지만 엄밀히 말하면 이건 줄이죠?

Python 스타일 가이드를 검색하여 읽어보았지만, 왜 멀티라인, /***/ 타입의 코멘트가 정식 실장되어 있지 않은지에 대한 기술적인 답변을 찾을 수 없었습니다.세 개의 따옴표를 사용하는 것은 문제 없습니다만, 이번 디자인 결정의 계기가 무엇인지 조금 궁금합니다.

'기도는 여러 줄 댓글의 필요성을 느끼지 못했다'보다 더 좋은 답을 얻을 수 있을지 모르겠다.

Guido는 이에 대해 트윗을 했습니다.

Python 힌트:여러 줄의 코멘트로 여러 줄의 문자열을 사용할 수 있습니다.docstring으로 사용하지 않는 한 코드는 생성되지 않습니다. :- )

여러 줄의 코멘트는 쉽게 깨질 수 있습니다.간단한 계산기 프로그램에 다음과 같은 항목이 있으면 어떻게 됩니까?

operation = ''
print("Pick an operation:  +-*/")
# Get user input here

여러 줄의 코멘트로 코멘트를 해 주세요.

/*
operation = ''
print("Pick an operation:  +-*/")
# Get user input here
*/

문자열에 끝 주석 구분 기호가 포함되어 있습니다.

세 개의 따옴표로 둘러싸인 텍스트는 여러 줄의 코멘트로 간주해서는 안 됩니다.통념상 문서스트링입니다.코드의 기능과 사용법을 기술해야 합니다.단, 코드 블록의 코멘트 아웃 등의 코멘트는 기술하지 않습니다.

Guido에 따르면 Python의 여러댓글은 연속된 한 댓글일 이다(블록 댓글 검색).

코드 블록에 코멘트를 붙이기 위해서, 다음과 같은 패턴을 사용하는 경우가 있습니다.

if False:
    # A bunch of code

이는 작업을 수행하는 데 분명한 방법이 하나 있어야 한다는 핵심 개념으로 돌아갈 수 있습니다.코멘트 스타일을 추가하면 불필요한 복잡성이 추가되어 가독성이 저하될 수 있습니다.

세 개의 따옴표는 문서 문자열에서 여러 줄의 코멘트로 사용됩니다.그리고 # comments는 인라인 댓글로 사용되며 사람들은 익숙해진다.

대부분의 스크립트 언어에도 여러 줄의 댓글이 없습니다.그게 원인일까요?

PEP 0008 섹션 코멘트 참조

또한 Python 에디터가 블록 코멘트를 위한 키보드 단축키를 제공하는지 확인합니다.Eclipse와 마찬가지로 Emacs도 이 기능을 지원하며, 대부분의 괜찮은 IDE가 이를 지원합니다.

Python의 Zen에서:

그것을 할 수 있는 확실한 방법은 하나, 그리고 가급적 하나뿐이어야 합니다.

Pycharm IDE에서 코드 블록을 주석 처리하려면:

  • 코드 | 회선 코멘트를 사용한 코멘트
  • Windows 또는 Linux: +
  • Mac OS: +

개인적으로 자바라는 코멘트 스타일은

/*
 * My multi-line comment in Java
 */

그래서 한 줄짜리 댓글만 달면 당신의 스타일이 앞의 예에 전형적인 것이라면 나쁜 것은 아니다. 왜냐하면 당신은 그에 비해 더 많은 코멘트를 가지고 있을 것이기 때문이다.

#
# My multi-line comment in Python
#

VB.NET도 한 줄짜리 댓글만 있는 언어입니다.개인적으로 댓글은 댓글보다 인용문처럼 보이기 때문에 귀찮습니다.

'
' This is a VB.NET example
'

한 줄만의 코멘트는 여러 줄의 코멘트보다 문자 사용량이 적어지고 정규식 문장에서 일부 의심스러운 문자에 의해 빠져나갈 가능성은 낮아집니다.하지만 나는 네드의 말에 동의하는 경향이 있다.

# This
# is
# a 
# multi-line
# comment

이를 수행하려면 주석 블록을 사용하거나 편집기에서 검색 및 바꾸기(s/^/#/g)를 사용하십시오.

텍스트 에디터(TextPad)용 매크로를 다운로드하여 각 행의 선두에 #를 삽입하는 것으로 해결했습니다.같은 매크로에서는 #가 삭제됩니다.왜 멀티라인이 필요한지 묻는 사람도 있지만 디버깅을 위해 코드 블록을 "끄기" 할 때 유용합니다.

Python에서 여러 줄의 코멘트를 찾고 있는 다른 사람에게 - 3중 따옴표 형식을 사용하는 것은 어려운 결과를 초래할 수 있다.다음 사항을 고려하십시오.

this_dict = {
    'name': 'Bob',

"""
This is a multiline comment in the middle of a dictionary
"""

    'species': 'Cat'
}

여러 줄의 코멘트는 다음 문자열에 삽입되어 다음 문자열에 삽입되어 있습니다.'species'열쇠. 그냥 사용하는 것이 좋다.#코멘트를 주세요.

어떤 작업을 수행하는 방법은 1개뿐입니다.다행 문자열과 단일 행 문자열 또는 스위치/케이스의 사용과 모순되며, 다른 형식의 루프가 있는 경우에는 모순됩니다.

멀티라인 코멘트는 꽤 일반적인 기능으로, 그것을 직시해 보자.멀티라인 코멘트는 부정적인 부작용을 수반하는 해킹이다!나는 여러 줄의 댓글 트릭을 하는 코드를 많이 봐왔고 편집자들도 그것을 사용한다.

하지만 개발자들이 절대 고치지 않겠다고 주장하는 모든 언어에는 별난 것들이 있는 것 같아요.90년대 후반부터 오픈된 자바 측에서도 이러한 기호는 결코 수정될 수 없다는 것을 알고 있습니다!

# 표기법은 일반적인 표기법이기 때문에 #사인 코멘트로 할 수 있는 일은 없습니다.이건 역사적인 사고야, 마치.../* ... */

그것들이 단지 불필요하다고 여겨졌다고 가정하자. #a comment 코멘트로 될 수 .

반면 HTML의 경우 멀티라이너에 대한 필요성이 더욱 커지고 있습니다.계속 타이핑하기가 더 어렵다.<!--comments like this-->.

이건 추측일 뿐이에요.그렇지만

문자열이기 때문에 의미적인 값(컴파일러는 그것들을 제거하지 않음)이 있기 때문에 문서 문자열로 사용하는 것이 타당합니다.실제로 AST의 일부가 되므로 문서를 쉽게 추출할 수 있습니다.

게다가, 여러 줄의 댓글은 형편없어.죄송합니다만, 언어에 관계없이 디버깅 이외의 용도로는 사용하지 않습니다.다음과 같은 코드가 있다고 가정합니다.

void someFunction()
{
    Something
    /*Some comments*/
    Something else
}

그 후, 코드에 디버거로 수정할 수 없는 것이 있는 것을 발견해, 보다 작은 코드의 청크를 복수의 코멘트로 코멘트 아웃 하는 것으로, 수동으로 디버깅을 개시합니다.그러면 다음과 같은 기능이 제공됩니다.

void someFunction()
{ /*
    Something
   /* Comments */
   Something more*/
}

이거 진짜 짜증나.

IDLE을 사용한 여러 줄 댓글:

  • Mac OS X는 코드 선택 후 코드 블록에 +를,3 언코멘트는 +4를 사용합니다.

  • Windows 에서는, 코드 선택 후에,Alt3 ++ 로 코드 블록을 코멘트 해, ++At4 로 코멘트 해제를 실시합니다.

한 남자가 자신의 여러 줄에 걸친 코멘트를 세 개의 따옴표로 묶은 변수에 넣었던 것을 기억합니다.

x = '''
This is my
super-long mega-comment.
Wow there are a lot of lines
going on here!
'''

이 작업은 메모리를 조금 차지하지만 여러 줄의 코멘트 기능을 제공합니다.또한 대부분의 에디터는 구문을 강조 표시합니다.

코드를 간단하게 정리하는 것만으로 코멘트를 붙일 수 있습니다.

x = '''

그리고.

'''

언급URL : https://stackoverflow.com/questions/397148/why-doesnt-python-have-multiline-comments

반응형