0

0

pythonprint用法format_使用f-string与str.format格式化输出实例

幻夢星雲

幻夢星雲

发布时间:2026-02-03 17:17:02

|

782人浏览过

|

来源于php中文网

原创

f-string 是 Python 3.6+ 最推荐的字符串格式化方式,写法简洁、性能高、支持表达式求值与方法调用,但定义时即求值,不适用于需延迟渲染的模板场景。

pythonprint用法format_使用f-string与str.format格式化输出实例

python print 里怎么用 f-string 替代 % 或 format

f-string 是 Python 3.6+ 最推荐的字符串格式化方式,写法简洁、性能高、支持表达式求值。直接在字符串前加 fF,花括号内写变量或表达式即可。

  • f"Hello {name}" —— 变量名直接插入,不需引号
  • f"{x + y:.2f}" —— 花括号里能写任意合法表达式,还能带格式说明符
  • f"{obj.name.upper()}" —— 支持方法调用,但不能有赋值语句(如 {x = 1} 是语法错误)
  • 注意:f-string 在定义时就求值,不是延迟渲染,所以不能用于模板场景(比如日志格式化器里想留到运行时再填值)

str.format() 常见写错的参数位置和占位符类型

str.format() 灵活但容易因参数顺序或占位符写法出错。核心是区分位置参数、关键字参数和混合用法。

  • "{} {}".format(a, b) —— 按顺序填入,第一个 {} 对应 a
  • "{1} {0}".format(a, b) —— 显式指定索引,{1} 取第二个参数(索引从 0 开始)
  • "{name}: {age}".format(name="Alice", age=30) —— 关键字参数,名字必须匹配
  • 常见报错:IndexError: tuple index out of range 是因为占位符数多于传入参数;KeyError 是关键字名没传或拼错

print 输出时 format 和 f-string 性能差异明显吗

在绝大多数日常使用中感知不到差异,但高频日志或循环内大量拼接时,f-string 明显更快——它本质是编译期优化,而 str.format() 是运行时解析字符串模板。

Upscale
Upscale

AI图片放大工具

下载
  • 简单测试:10 万次拼接 f"{x}-{y}""{}-{}".format(x, y) 快约 30%~40%
  • % 格式化(如 "%s-%d" % (s, n))已不推荐,Python 3.12 起文档明确标记为 legacy,且不支持命名参数等现代特性
  • 真正影响性能的往往不是格式化本身,而是 print() 的 I/O 开销;如果要极致优化,考虑批量写入或禁用 flush

format 字符串里的冒号后面能写什么

冒号 : 后是格式说明符(format specifier),控制对齐、宽度、精度、进制等。它同时被 f-string 和 str.format() 支持,语法一致。

立即学习Python免费学习笔记(深入)”;

  • f"{x:05d}" → 补零到 5 位整数;"{:.3f}".format(3.14159) → 保留三位小数
  • f"{text: → 左对齐占 10 字符宽;f"{text:^12}" → 居中
  • f"{num:x}" → 十六进制小写;f"{num:,}" → 千分位逗号分隔
  • 注意:类型码(如 d, f, s)不是必须的,省略时会自动推断,但显式写出更安全,尤其混用数字和字符串时
实际写代码时,优先用 f-string;需要动态构造格式字符串(比如从配置读取模板)才用 str.format();旧项目维护中遇到 % 就逐步替换。最常被忽略的是 f-string 中无法嵌套花括号(除非双写 {{ 表示字面量 {),这点容易调试半天才发现少了个括号。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

187

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

1

2026.02.03

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

543

2023.08.02

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

844

2023.07.31

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

439

2024.06.27

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

361

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

213

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1505

2023.10.24

全国统一发票查询平台入口合集
全国统一发票查询平台入口合集

本专题整合了全国统一发票查询入口地址合集,阅读专题下面的文章了解更多详细入口。

4

2026.02.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

Django 教程
Django 教程

共28课时 | 3.9万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号