2013-06-21 2 views
3

저는 파이썬을 처음 접했습니다. 내가 파이썬 멀티 라인 주석에 알고
파이썬 문자열 비교 코드

""" 
this is a comments 
""" 

처럼했지만이 코드

somevariable="""this is a variable""" 
print somevariable 

이 변수
는 의견과 문자열입니다 인쇄를 고려하는 파이썬과 동일하거나 다른가?

답변

5

첫 번째 것은 주석이 아니며, 문자열입니다. 그러나 당신이 이 아니기 때문에그 문자열 (인쇄, 변수에 할당하는 것 등)이있는 모든 통역사는 "그래, 괜찮 았어!"라고 말합니다. 그것을 완전히 무시하십시오. 논평과 동일하게 만드는 것은 인터프리터가 무시하는 임의의 텍스트 다.

4

파이썬에는 멀티 라인 주석이 없습니다. 둘 다 단순한 문자열입니다. 전자는 일반적으로 docstring으로 사용되며 함수/클래스/모듈과 연관되며 다른 모듈은 변수에 할당됩니다.

2

예, 그들은 그것이 당신이 여기에 문자열의 유형에 대한 자세한 내용을 찾을 수있는 문서화 문자열 라고

동일이다. 그것은 문자열입니다. 파이썬 주석은 접두어로 # 문자가 붙습니다.

1

첫 번째 조각 코멘트되지 않습니다 :

1
>>> somevariable=""" 
... this is not a comment 
... """ 
>>> print(somevariable) 

this is not a comment 
2

파이썬에서 같은 의견과 문자열?

엄밀히 말하면, 이들은 이 아니고,도 동일하다. 그러나 귀하의 질문에, 당신이 "코멘트"로 참조하는 것은 실제로 문자열입니다. 주석은 # 문자 다음에 나오는 동일한 행에 나타나는 모든 것입니다.

a.py : 이제

""" 
comment1 
""" 
# comment2 

: - 그것은 주석 아니기 때문에, comment1 인 반면

% strings a.pyc | grep comment 
comment1 

당신이 볼 수 있듯이, comment2은 컴파일 된 바이트 코드의 일부가 아닙니다 그것은 문자열입니다.

기타 지적했듯이 문자열은 docstring으로 간주됩니다. docstring은 코드를 문서화하는 데 일반적으로 사용되지만 주석은 주석을 위해 잘 사용되지만 문서에는 포함되어 있지 않습니다.

+0

+1은 문서 문자열이 바이트 코드에 포함되어 있음을 나타냅니다. –

1

혼동은 docstrings을 통해 발생합니다.

>>> """This is a string 
... with line breaks""" 
'This is a string\nwith line breaks' 

같은 표기법을 문서화하는 클래스와 함수에서 사용됩니다 : 그래서

>>> def my_function(): 
...  """This function does stupid things.""" 
...  return 1/0 
... 
>>> my_function.__doc__ 
'This function does stupid things.' 
>>> my_function() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "<stdin>", line 3, in my_function 
ZeroDivisionError: division by zero 

이 실제로하지 코멘트하지만, 여러 줄 문자열을 만들 수있는 방법입니다 코드 :

:

somevariable = """this is a variable""" 

는 정말 단지 동일

somevariable = "this is a variable"