我所看到的每个地方都告诉我,多行注释可以创建为:
'''
This is a multiline
comment.
'''
(例如,参见this answer等)。
但是,当我在python或ipython terminal 中执行此操作时,我看到了多行“注释”。
>>> '''
... This is a multiline
... comment.
... '''
'\nThis is a multiline\ncomment.\n'
>>>
这不是我预期的行为。导致我相信上面的代码等效于使用哈希表示注释:
>>> # This is also a multiline
... # comment.
...
>>>
如我所料,它根本不打印任何内容。
那么这里有什么呢?到处都在告诉我可以使用'''
或"""
语法创建多行注释。但是,当我直接在码头工作时,我没有观察到这种假定的行为。
第一个示例中的行为是否是因为我的注释被解释为文档字符串并因此被打印?
答案 0 :(得分:5)
那是因为它是多行字符串文字,而不是多行注释。它可以用作多行注释,因为就像注释一样,它“不做任何事情”,并且似乎被忽略,就像评论。
但是,正如您所观察到的,字符串文字实际上是一个包含所有换行符和填充内容的str
ing对象。另一方面,评论将被完全忽略并且不会被评估为任何内容。
答案 1 :(得分:1)
'''
和"""
实际上用于多行字符串。
#
告诉口译员跳过该行的其余部分。
您当前正在REPL中运行它,因此'''和“”“将返回一个字符串,并将显示在您的REPL中。
如果您正在python程序中运行它,例如python [filename.py],除非您使用print "Hello world"
此外,PEP指南中的'''和“”“通常用作多行文档字符串,请参见https://www.python.org/dev/peps/pep-0257/#id17
答案 2 :(得分:0)
Triple-quoted text is considered a string in Python,而不是评论。
尝试'''I am a triple-quoted string'''.split()
,split()
可以正常工作,因为对象是字符串。