本篇笔记详细介绍了Python中的format()函数及其格式化字符串的方法和技巧,适合编程初学者参考学习。
### 一、旧式 `%` 格式化输出
在Python编程中,格式化输出是一种常见的任务,它允许我们按照特定的样式显示数据。其中一种方法是使用旧式的 `%` 格式化方式。
```python
a = 字符
print(这是一个字符%c % a) # 输出:这是一个字符字符
```
这里的 `c` 用于输出单个字符,而 `s` 和 `d` 分别用于字符串和十进制整数。例如:
```python
b = string
print(这是一个字符%c 和一段字符串%s % (a, b)) # 输出:这是一个字符字符 和一段字符串string
# 浮点数保留四位小数:
c = 520.1314666
print(保留四位小数%.4f % c) # 输出:保留四位小数520.1315
```
### 二、`format()` 格式化输出
Python的 `format()` 函数提供了更为灵活和强大的格式化选项。
#### 定位输出
```python
first = 人生苦短
second = 我始终在你身边
print(虽然{},但是{}.format(first, second)) # 输出:虽然人生苦短,但是我始终在你身边
```
在这里,通过 `{}` 和位置参数来指定输出的位置。
#### 高级输出
`format()` 函数支持多种高级格式设置方法:
- 保留小数位数: 使用 `:.nf` 格式化符。例如:`{:.4f}`
- 进制转换: 可以使用 `{:}`,如二进制的 `{:b}`, 十六进制的 `{:x}`
- 百分比输出: 使用 `{:.p%}`,如保留一位小数百分比格式化符:`{:.1%}`
- 一般数字显示方式: 可以使用`{:g}`
- 数字分隔符: 如中文地区设置下,可以使用 `:{:,}`
#### 对齐和填充
通过 `format()` 函数还可以控制输出的对齐:
- 右对齐:`{:}`, 使用 `>` 表示右对齐
- 左对齐(默认):直接使用 `{}`
- 居中:使用 `{:^width}>`
- 自定义填充字符: 如`{:0^20}`,其中0为自定义的填充字符
例如:
```python
first = 我爱你
print(我想对你说{:>20}.format(first)) # 输出:我想对你说 我爱你
print({:*^20}.format(first)) # 输出:**********我爱你*******
```
#### 向函数中传入序列和字典
`format()` 函数可以使用列表、元组或字典进行格式化输出:
```python
list = [我爱你, 一生一世]
dict = {a: 我爱你, b: 永远}
print({[0]}.format(list)) # 输出:我爱你
print(因为{0[a]}, 所以{0[b]}.format(dict)) # 输出:因为我爱你, 所以永远
```
以上是关于Python中 `%` 和 `format()` 格式化输出方法的介绍。尽管两者都有各自的优点,但考虑到灵活性和可读性,通常推荐使用 `format()` 函数进行格式化操作。掌握这些技术有助于提高代码的质量与维护性。