Python中format的自定义格式化:掌握12个技巧,打造个性化格式化字符串
发布时间: 2024-06-21 21:06:19 阅读量: 118 订阅数: 50
Python中字符串格式化str.format的详细介绍
![Python中format的自定义格式化:掌握12个技巧,打造个性化格式化字符串](https://img-blog.csdnimg.cn/20201030112643194.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTMzMzEyMA==,size_16,color_FFFFFF,t_70)
# 1. Python format()函数概述**
Python `format()` 函数是一个强大的字符串格式化工具,它允许开发者以灵活且可读的方式格式化字符串。它取代了传统的 `%` 格式化操作符,提供了更直观和功能丰富的语法。
`format()` 函数的基本用法是使用占位符来指定要格式化的值。这些占位符可以是位置占位符(例如 `{0}`)或关键字占位符(例如 `{name}`)。占位符的值通过函数调用传递,如下所示:
```python
name = "John Doe"
age = 30
formatted_string = "My name is {name} and I am {age} years old.".format(name, age)
print(formatted_string)
```
输出:
```
My name is John Doe and I am 30 years old.
```
# 2. format()函数的自定义格式化技巧
### 2.1 基本格式化选项
#### 2.1.1 位置占位符
位置占位符使用数字表示要格式化的值在元组或字典中的位置。语法为:
```python
format_string.format(*args, **kwargs)
```
例如:
```python
>>> name = 'John'
>>> age = 30
>>> format_string = 'My name is {0} and I am {1} years old.'
>>> format_string.format(name, age)
'My name is John and I am 30 years old.'
```
#### 2.1.2 关键字占位符
关键字占位符使用名称表示要格式化的值在字典中的键。语法为:
```python
format_string.format(**kwargs)
```
例如:
```python
>>> person = {'name': 'John', 'age': 30}
>>> format_string = 'My name is {name} and I am {age} years old.'
>>> format_string.format(**person)
'My name is John and I am 30 years old.'
```
### 2.2 进阶格式化选项
#### 2.2.1 字段宽度和对齐
字段宽度指定格式化后的值的最小宽度。对齐指定值在字段中的对齐方式,可以是左对齐('<')、右对齐('>')或居中对齐('^')。语法为:
```python
{field_name:alignment_character}{field_width}
```
例如:
```python
>>> name = 'John'
>>> format_string = 'My name is {name:10}'
>>> format_string.format(name)
'My name is John' # 右对齐,字段宽度为 10
```
#### 2.2.2 精度和舍入
对于浮点数,精度指定小数点后要保留的位数。舍入指定舍入规则,可以是四舍五入('r')、四舍六入五成双('g')或截断('t')。语法为:
```python
{field_name:.precision_character}{precision}
```
例如:
```python
>>> pi = 3.141592653589793
>>> format_string = 'Pi is approximately {pi:.2f}'
>>> format_string.format(pi)
'Pi is approximately 3.14' # 保留两位小数,四舍五入
```
#### 2.2.3 类型转换和格式化
format()函数还可以将值转换为其他类型并应用特
0
0