📅  最后修改于: 2023-12-03 15:40:28.918000             🧑  作者: Mango
在Python中,我们可以使用三引号('''或""")来创建一个多行字符串。这种字符串可以包含多行文本,也可以包含任意的制表符,换行符和其他特殊字符。但是,有时我们需要以一种漂亮和易于阅读的方式打印或显示这些字符串。本文将介绍如何使用Python中的字符串格式化来实现这个目标。
Python中的字符串.format()方法可以用来格式化字符串。其语法是使用大括号{}来标记要替换的变量,并将这些变量传递给format()方法中。例如:
name = "John"
age = 18
print("{} is {} years old.".format(name, age))
输出结果为:John is 18 years old.
我们可以将这个方法应用到多行字符串中来漂亮地打印出来,如下所示:
multiline_str = '''\
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
'''
print("The Zen of Python: \n{}".format(multiline_str))
输出结果为:
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
```
如上所述,我们可以使用转义字符`\`来避免输出字符串中开头的空白字符。
## 使用f-strings
Python 3.6中引入了一种新的字符串格式化语法,称为f-strings。f-strings 基于花括号{} 和字符串前缀f,并在其中包含变量名。 像format()方法一样,f-strings也可以用来格式化多行字符串。
例如:
```python
multiline_str = '''\
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
'''
print(f"The Zen of Python: \n{multiline_str}")
输出结果为:
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
```
如上所述,f-strings 使我们可以在字符串中引用变量而不需要引号。
## 使用字符串模板
Python中的字符串模板(string.Template)是一种字符串格式化的另一种方法。 字符串模板使用占位符$来标记要替换的变量,并使用safe_substitute()方法将这些变量替换为实际值。 字符串模板还提供了另一个有用的功能,那就是允许我们指定一个特殊字符来转义占位符。
例如:
```python
from string import Template
multiline_str = '''\
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
'''
t = Template('The Zen of Python: \n$multilines')
formatted_str = t.safe_substitute(multilines=multiline_str)
print(formatted_str)
输出结果为:
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
```
如上所述,我们可以使用$safe_substitute()方法来格式化字符串模板。
以上是三种常见的方法来格式化多行字符串,您可以根据不同的需求选择不同的方法。
## 总结
本文介绍了Python中格式化多行字符串的三种方法:.format()方法,f-strings和字符串模板。
- .format()方法使用大括号{}来标记要替换的变量,并将这些变量传递给format()方法中。
- f-strings基于花括号{}和字符串前缀f,并在其中包含变量名。
- 字符串模板使用占位符$来标记要替换的变量,并使用safe_substitute()方法将这些变量替换为实际值。
以上的这些方法可以帮助您漂亮且易于阅读地显示多行字符串。