Python字符串格式化:format方法详解与实战

夏知夏
夏知夏
发布时间:2026-10-14| 5人浏览过
原创

本文详细介绍Python中推荐的字符串格式化方法format。通过具体实例讲解位置参数、索引传参及关键字传参的使用方式,深入解析格式说明符的标准结构,包括填充、对齐、精度控制及千位分隔符等高级用法,帮助开发者掌握高效、规范的字符串处理技巧。

一、前言

在Python中,字符串格式化主要存在两种实现路径。

第一种是利用百分号(%)进行格式化,但该方法已被官方视为过时,不再推荐在新代码中使用。

第二种是字符串对象的format方法,这是当前Python社区强烈推荐的标准化做法。

二、什么是format方法

字符串格式化的核心机制是通过花括号 {} 作为占位符来进行索引和替换。

三、实例

1、传递位置参数


for i in range(0, 226, 25):
    url = "https://movie.douban.com/top250?start={}&filter=".format(i)
    print(url)
# 特点:大括号里面不需要写东西
# 爬虫,实现url自动翻页功能

2、利用位置索引值传递参数


print('ppt制作一定不能有错别字,ppt制作越用心越丑陋')
print('{0}制作一定不能有{2},{0}制作越用心越{1}'.format('ppt', '丑陋', '错别字'))
# 数字可重复使用,可颠倒顺序
# 上述两次打印输出结果相同

3、利用关键词传递参数


print('这个世界并不美好,所以美好是值得我们去追求的')
print('这个世界并不{key1},所以{key2}是值得我们去{key2}的'.format(key2='追求', key1='美好'))
print('这个世界并不{0},所以{key2}是值得我们去{key2}的'.format('美好', key2='追求', key1='美好'))
# 混合使用:同时传递位置参数和关键字参数、关键字参数必须位于位置参数之后
# 上述三次打印输出结果相同

上述几种传参方式支持混合使用,但由于可读性考量,混合使用场景较少见,此处不再展开。

4、格式说明符


print('{0:.4f}'.format(3.1415926))
print(3.1416)
# 以上两次打印输出结果相同

以下是一个典型示例,演示如何保留小数点后4位。

替换字符的一般语法结构为:{字段名!转换字符:格式说明符}。

格式说明符遵循标准格式定义:

[[填充]对齐方式][正负号][#][0][宽度][分组选项][.精度][类型码]。

常见的类型码包括:b(二进制)、d(十进制)、e(指数计数)、%(百分比)。

5、千位分隔符


print('{:,}'.format(1234567890))
print(1,234,567,890)
# 以上两次打印输出结果相同

6、其他

若需要在输出中显示字面量的大括号 {},必须使用双大括号 {{}} 进行转义处理。

此外,三引号 '''bulabula''' 包裹的多行字符串同样可以使用format方法进行格式化操作。

总结

本文到此结束,希望上述内容能为您提供帮助,欢迎持续关注本站获取更多技术分享!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。