为什么在python中打印需要三个撇号?

Why are three apostrophes needed for print in Python?

我正在用python3.3.2制作毕达哥拉斯定理计算器。

我在几行上打印了一张图表:

1
2
3
4
5
6
7
8
9
10
11
12
print("Welcome to the Pythagoras Theorem Calculator, powered by Python!")
print("Below are the values a, b and c. You will need to input these values after.")
print('''
      | .
      |   .
      |     .
side a|       . side c
      |         .
      |           .
      |_____________.
          side b
      '''
)

正如您在上面看到的,需要三个撇号来代替语音标记。为什么会这样?是转义符吗?(我试过在谷歌上搜索:http://bit.ly/15a4zes)


这三个引号允许您在多行上创建字符串。它避免在任何地方添加
或执行多个print语句。

还使用了三个引号字符串usedrecommended to make documentation,see the PEP 257 convention(see also comments of this post)


三个撇号(或语音标记)使字符串成为三重引号的字符串。这允许它跨越多条线。普通字符串不能这样做。

如果你想在普通的字符串中有同样的效果,你必须在每次你想要换行时都放一个'
'
(这有点烦人,而且也会让你的字符串很难阅读)。


它们不是必需的,它们只是使生成多行字符串变得更容易。

备选方案是:

1
2
3
4
5
6
7
8
print('      | .')
print('      |   .')
print('      |     .')
print('side a|       . side c')
print('      |         .')
print('      |           .')
print('      |_____________.')
print('          side b')

请注意,python允许您选择'..'".."样式的引号,无论这些引号更适合您的字符串内容。