网易首页 > 网易号 > 正文 申请入驻

Python:格式化字符串字面量(f-string)详解

0
分享至

在 Python 的众多字符串格式化方法中,格式化字符串字面量(Formatted String Literals,简称 f-string)是一种现代且高效的解决方案。

一、基本用法及特点

f-string 的语法形式为:

在字符串前添加前缀 f 或 F,并在字符串内部使用花括号 { } 插入变量或表达式。

name = "mediaTEA"
age = 7
print(f"My name is {name} and I am {age} years old.")

# 输出:My name is mediaTEA and I am 7 years old.

1、可在 { } 中插入任意有效的 Python 表达式。

print(f"The result of 5 + 3 is {5 + 3}")

# 输出:The result of 5 + 3 is 8

(1)自动将表达式结果转换为字符串类型,无需显式调用 str()。

(2)表达式求值在字符串生成时即时进行。

2、f-string 也可以用于调用函数,即插入函数调用表达式。

def square(x):
    return x * x

print(f"The square of 4 is {square(4)}")

# 输出:The square of 4 is 16

二、数字和日期的格式化

1、数值格式化

f-string 支持与 str.format() 类似的格式规范,可用于控制小数位数、对齐方式、宽度、千位分隔符等。

pi = 3.1415926
print(f"Pi rounded to 2 decimals: {pi:.2f}")

# 输出
# Pi rounded to 2 decimals: 3.14

常见格式:

{x:.2f} 保留两位小数 3.14

{x:10.2f} 占 10 个字符宽度,右对齐 ' 3.14'

{x:<10.2f} 左对齐 '3.14 '

{x:,.2f} 加千位分隔符 1,234.57

示例:

num = 1234.5678
print(f"Formatted: {num:,.2f}")

# 输出:Formatted: 1,234.57

2、日期格式化

使用 f-string 时,可直接在 { } 内使用日期格式控制符。

from datetime import datetime

now = datetime.now()
print(f"Current time: {now:%Y-%m-%d %H:%M:%S}")
# 输出:Current time: 2025-07-19 10:28:36

格式符与 strftime() 方法一致,可自由组合年、月、日、时、分、秒等组件。

三、使用字典和列表中的值

f-string 可直接在 { } 中嵌入对字典或列表元素的访问表达式,语法与常规表达式完全一致。

1、访问字典元素

person = {"name": "mediaTEA", "age": 7}
print(f"{person['name']} is {person['age']} years old.")

# 输出:mediaTEA is 7 years old.

2、访问列表元素

colors = ["red", "green", "blue"]
print(f"The first color is {colors[0]}.")

# 输出:The first color is red.

四、进阶用法

1、多行 f-string

多个 f-string 可通过括号组合,适用于构建多行结构化内容。

name = "mediaTEA"
score = 95

message = (
    f"Student: {name}\n"
    f"Score: {score}\n"
    f"Status: {'Pass' if score >= 60 else 'Fail'}"
)
print(message)

# 输出:
# Student: mediaTEA
# Score: 95
# Status: Pass

2、嵌套 f-string

f-string 可嵌套在表达式中使用,但应注意代码可读性。

value = 42
print(f"{f'Value is {value}'}!")

# 输出:Value is 42!

虽然可以嵌套 f-string,但建议在外层处理逻辑,避免混淆。

3、调试式 f-string

自 Python 3.8 起,f-string 支持调试风格写法(使用 = 号),支持快速输出变量及表达式值。

x = 10
y = 5
print(f"{x=}, {y=}, {x + y=}")

# 输出:x=10, y=5, x + y=15

◆ ◆

补充说明

1、版本限制

f-string 仅支持 Python 3.6 及以上版本,在早期版本中不可用。

2、推荐优先使用

相较 % 和 .format() 方法,f-string 更直观、可读性更高,性能也更优。

3、语法限制

{ } 内只能包含单行有效表达式,不允许包含赋值语句、控制结构或换行。

4、转义花括号

若要在字符串中输出花括号字符 { 或 },请使用双括号进行转义。

print(f"Use {{ and }} to represent curly braces.")

# 输出:Use { and } to represent curly braces.

点赞有美意,赞赏是鼓励

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
春晚已发出强烈信号:未来3年,普通人请把「小心」刻进骨子里!

春晚已发出强烈信号:未来3年,普通人请把「小心」刻进骨子里!

动物奇奇怪怪
2026-02-21 20:01:35
"重大发现":《神界》成人场景重播量全片最高!

"重大发现":《神界》成人场景重播量全片最高!

游民星空
2026-02-21 22:24:15
场均35+16,火箭组篮下禁飞区!年轻双塔成型,内线实力不降反升

场均35+16,火箭组篮下禁飞区!年轻双塔成型,内线实力不降反升

熊哥爱篮球
2026-02-22 11:33:06
一个残酷的社交逻辑:底层无贵人,弱者无圈子

一个残酷的社交逻辑:底层无贵人,弱者无圈子

洞见
2026-01-10 21:41:53
慈禧一生只写了1首诗,却被编入小学教材,现在大家耳熟能详

慈禧一生只写了1首诗,却被编入小学教材,现在大家耳熟能详

历史甄有趣
2026-02-21 16:10:05
天助曼联:1-1大冷门,英超第5遭英超第19逼平,第93分钟遭绝平

天助曼联:1-1大冷门,英超第5遭英超第19逼平,第93分钟遭绝平

侧身凌空斩
2026-02-22 00:59:50
俞敏洪:当你的孩子不尊重你、不理你时,不必翻脸,只需“乌鸦定律”就够了,这样处理才是有水平……

俞敏洪:当你的孩子不尊重你、不理你时,不必翻脸,只需“乌鸦定律”就够了,这样处理才是有水平……

乔话
2026-02-20 19:34:42
英国教授:四大文明古国中,印度和埃及还在,为何却只承认中国?

英国教授:四大文明古国中,印度和埃及还在,为何却只承认中国?

优趣纪史记
2026-02-08 13:26:29
女子丽江35万买玉镯,三年后带丈夫重游,老板见镯子瘫软在地

女子丽江35万买玉镯,三年后带丈夫重游,老板见镯子瘫软在地

匹夫来搞笑
2026-02-21 16:52:33
业绩暴增715.70%!商业航天+可控核聚变双王炸,6大核心龙头个个不可替代

业绩暴增715.70%!商业航天+可控核聚变双王炸,6大核心龙头个个不可替代

Thurman在昆明
2026-02-20 22:32:08
妈祖乩童要凳子后续!手势全程不变,网友:是不是真心一看就懂

妈祖乩童要凳子后续!手势全程不变,网友:是不是真心一看就懂

奇思妙想草叶君
2026-02-21 18:04:11
导致7名中国游客在贝加尔湖死亡的俄罗斯司机,是个问题司机

导致7名中国游客在贝加尔湖死亡的俄罗斯司机,是个问题司机

我心纵横天地间
2026-02-21 18:34:01
原来20块就能解决的小问题,我竟忍了好几年!

原来20块就能解决的小问题,我竟忍了好几年!

小熊侃史
2026-02-21 11:14:24
iPhone 新系统已经禁止用户切换账号,但没那么简单!

iPhone 新系统已经禁止用户切换账号,但没那么简单!

XCiOS俱乐部
2026-02-21 18:12:51
万荣县出租司机称当地强制他们给游客打折:一天可能50块都赚不到

万荣县出租司机称当地强制他们给游客打折:一天可能50块都赚不到

映射生活的身影
2026-02-22 08:39:24
辞去央视铁饭碗,带着儿子嫁给张译,20年过去,才知道她有多明智

辞去央视铁饭碗,带着儿子嫁给张译,20年过去,才知道她有多明智

阿废冷眼观察所
2026-02-21 13:48:22
男子花80块钱请人画画,付款时,要了张收据,50年后,这张收据卖了180万

男子花80块钱请人画画,付款时,要了张收据,50年后,这张收据卖了180万

霹雳炮
2026-02-14 20:47:47
美方扶持的4位中国富豪开始露头了:在华疯狂捞金,扭头捐给美国

美方扶持的4位中国富豪开始露头了:在华疯狂捞金,扭头捐给美国

来科点谱
2026-02-22 07:06:28
孩子越大,越要告诉他这五句人生真相:比成绩更重要的,是活好这一生

孩子越大,越要告诉他这五句人生真相:比成绩更重要的,是活好这一生

青苹果sht
2026-02-20 05:52:21
连续9场得分上双!火箭22岁前锋同时提升2位置,西决中锋都要让位

连续9场得分上双!火箭22岁前锋同时提升2位置,西决中锋都要让位

熊哥爱篮球
2026-02-22 10:57:36
2026-02-22 11:47:00
MediaTea
MediaTea
专业的数字媒体、新媒体技术
1761文章数 78关注度
往期回顾 全部

科技要闻

马斯克:星舰每年将发射超过10000颗卫星

头条要闻

特朗普:将确定并公布新的、在法律上允许的关税措施

头条要闻

特朗普:将确定并公布新的、在法律上允许的关税措施

体育要闻

徐梦桃:这是我第一块铜牌 给我换个吉祥物

娱乐要闻

裴世矩养侄为刃 看懂两次放行裴行俨!

财经要闻

特朗普新加征关税税率从10%提升至15%

汽车要闻

续航1810km!smart精灵#6 EHD超级电混2026年上市

态度原创

健康
数码
亲子
公开课
军事航空

转头就晕的耳石症,能开车上班吗?

数码要闻

2026中国电影票房暂列全球第一;小米17系列进军全球市场

亲子要闻

为什么小男孩小时候要比小女孩难养好多?网友:通常精力充沛

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

硬核揭秘!福建舰“一马当先”底气何在

无障碍浏览 进入关怀版