python中的多行注释和多行字符串有什么区别?

dal*_*y42 0 python syntax

我仍在探索python。今天,我遇到了多行字符串。如果我做:

a = '''
some-text
'''
Run Code Online (Sandbox Code Playgroud)

变量a的内容为'\nsome-text\n'。但这让我感到困惑。我一直认为,如果将某些内容括在三个单引号(''')中,则会将其注释掉。因此,上面的语句等效于C ++中的类似代码:

a = /*
some-text
*/
Run Code Online (Sandbox Code Playgroud)

我想念什么?

Byt*_*der 5

从技术上讲,用三引号引起来的多行注释不是真正的注释,而是字符串文字。

您仍然可以使用它们来注释掉东西的原因是字符串文字本身不代表任何类型的操作。它被解析,但是它什么也没做,并且没有分配给变量名,因此它被忽略。

您还可以将其他任何文字放入代码中。只要它不参与任何类型的操作或分配,它基本上都会像注释一样被忽略。但是,这不是注释,如果您要使用这种方式命名,则只是无用的代码。

这是一个执行示例的代码示例,很好,什么也没有:

# This is a real comment.

"useless normal string"

"""useless triple-quoted
multi-line
string"""

[1, "two"]  # <-- useless list

42  # <-- useless number
Run Code Online (Sandbox Code Playgroud)