Python 字符串格式化是一种常见的字符串处理方法,可以将变量插入到字符串中,从而实现动态生成字符串的效果。在 Python 中,有多种字符串格式化的方式,本文将从多个角度介绍这些方法及注意事项。
1. 使用 % 格式化字符串
在 Python 中,最常用的字符串格式化方式是使用 % 符号,类似于 C 语言中的 printf 函数。具体用法如下:
```python
age = 18
name = "Tom"
print("My name is %s and I am %d years old." % (name, age))
```
输出结果为:
```
My name is Tom and I am 18 years old.
```
其中,%s 表示字符串,%d 表示整数,%f 表示浮点数,%x 表示十六进制整数等。多个变量时,需要用括号将变量括起来,以元组的形式传入。
2. 使用 format 格式化字符串
除了 % 格式化字符串,Python 还提供了一种新的字符串格式化方式,即使用 format 函数。该函数使用花括号 {} 来标识要插入的变量,具体用法如下:
```python
age = 18
name = "Tom"
print("My name is {} and I am {} years old.".format(name, age))
```
输出结果与上面的例子相同。
format 函数还可以接受参数,用于指定插入的变量的顺序,如下所示:
```python
age = 18
name = "Tom"
print("My name is {1} and I am {0} years old.".format(age, name))
```
输出结果与上面的例子相同。其中的 {0} 和 {1} 分别表示第一个参数和第二个参数。
3. 使用 f-string 格式化字符串
Python3.6 中引入了一种新的字符串格式化方式,即使用 f-string。这种方式使用 f 或 F 作为前缀,可以直接在字符串中使用变量,如下所示:
```python
age = 18
name = "Tom"
print(f"My name is {name} and I am {age} years old.")
```
输出结果与上面的例子相同。f-string 还支持在花括号中执行表达式,如下所示:
```python
age = 18
print(f"Next year I will be {age + 1} years old.")
```
输出结果为:
```
Next year I will be 19 years old.
```
4. 注意事项
在使用字符串格式化时,需要注意以下几点:
- % 格式化字符串中,需要使用 % 转义符来表示百分号,如 %% 表示一个百分号;
- format 函数中,花括号 {} 中可以使用冒号 : 来指定格式化的方式,如 {0:.2f} 表示保留两位小数;
- f-string 中,花括号 {} 中可以使用 ! 来调用函数,如 {name.upper()} 表示将 name 转为大写。