当前位置:优草派 > 问答 > Python问答

Python字符串格式化常用手段及注意事项

标签: Python  Python开发  Python 字符串格式化  作者: aaeroplane

回答:

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 转为大写。

TOP 10
  • 周排行
  • 月排行