【发布时间】:2011-01-31 01:21:44
【问题描述】:
函数中 Python 多行字符串的正确缩进是什么?
def method():
string = """line one
line two
line three"""
或
def method():
string = """line one
line two
line three"""
还是别的什么?
在第一个示例中,将字符串挂在函数之外看起来有点奇怪。
【问题讨论】:
-
文档字符串被处理specially:第一行的任何缩进都被删除;占据所有其他非空行的最小公共缩进将从它们中全部删除。除此之外,不幸的是,Python 中的多行字符串文字在空格方面是所见即所得:字符串分隔符之间的所有字符都成为字符串的一部分,包括缩进,Python 阅读本能,看起来它应该从文字开始的行的缩进开始测量。
-
@EvgeniSergeev 处理工具执行此任务(这在很大程度上取决于您选择的处理工具)。
method.__doc__不会被 Python 本身修改,而不是任何其他str文字。