Python中fromat()格式化常见的场景

瑾谋

关注

阅读 16

06-16 09:00

在Python中,format()方法用于字符串格式化,它通过{}:来替换以前%的方式。常见的示例包括基本用法按顺序替换,通过索引替换,通过关键字参数替换,通过字典和列表索引替换,数字格式化(如保留小数、百分比、填充等),对齐文本,使用逗号作为千位分隔符,日期格式化(需要先导入datetime模块)等等。

一、基础替换

顺序替换

print("{} 是 {}".format("Python", "语言")) # Python 是 语言

索引替换

print("{0} 的 {1} {0}".format("Python", "格式化")) # Python 的 格式化 Python

命名替换

print("{lang} 的 {feat}".format(lang="Python", feat="格式化")) # Python 的 格式化

二、数字格式化

保留2位小数

print("π ≈ {:.2f}".format(3.14159)) # π ≈ 3.14

百分比格式

print("占比: {:.1%}".format(0.256)) # 占比: 25.6%

科学计数法

print("距离: {:.2e} 米".format(384400000)) # 距离: 3.84e+08 米

进制转换

print("二进制: {:b}, 十六进制: {:x}".format(42, 255)) # 二进制: 101010, 十六进制: ff

三、文本对齐

左对齐(宽度10)

print("|{:10}|".format("左")) # |左 |

右对齐(宽度10)

print("|{:>10}|".format("右")) # | 右|

居中对齐(宽度10)

print("|{:^10}|".format("中")) # | 中 |

用符号填充

print("|{:^10}|".format("标题")) # |标题|

四、数字格式化增强

千位分隔符

print("人口: {:,}".format(1411778724)) # 人口: 1,411,778,724

带符号显示

print("温度: {:+}°C".format(-5)) # 温度: -5°C

补零填充

print("编号: {:06d}".format(42)) # 编号: 000042

五、高级用法

访问对象属性

class User: def init(self, name): self.name = name print("用户: {u.name}".format(u=User("小明"))) # 用户: 小明

列表索引

data = ["A", "B", "C"] print("第二项: {0[1]}".format(data)) # 第二项: B

日期格式化

from datetime import datetime print("现在: {:%Y-%m-%d %H:%M}".format(datetime.now())) # 现在: 2025-06-16 14:30

六. 嵌套格式化

嵌套字段

print("{:{fill}^{width}}".format("消息", width=20, fill="")) # 消息

动态精度

precision = 3 print("值: {:.{p}f}".format(3.1415926, p=precision)) # 值: 3.142

七、字典解包

info = {"name": "李四", "age": 33} print("姓名: {name}, 年龄: {age}".format(**info)) # 姓名: 李四, 年龄: 33

精彩评论(0)

0 0 举报