
你有没有遇到过这种情况?
刚学 Python 的时候,字符串格式化能把人整懵。一会儿用 %s,一会儿用 .format(),一会儿又冒出来个 f-string。到底该用哪个?
Python 3.14 这次带来的 t-string(模板字符串),直接把这个问题给解决了。说白了,它就是让字符串格式化变得更简单、更不容易出错。
t-string 到底是什么?
简单说,t-string 就是带模板能力的字符串。它不像 f-string 那样当场求值,而是先把模板存起来,后面再填值。
以前你写 f-string 是这样:
Python f-string 写法
name = "小明"
age = 18
msg = f"我叫{name},今年{age}岁"
print(msg) # 我叫小明,今年18岁
看起来挺简单对吧?但问题是——这个字符串一旦生成就固定了,你想换个名字得重新写一遍。
t-string 的思路是:先把模板定好,值后面再填。实际写起来长这样:
Python t-string 示例
from string.templatelib import Template
# 定义模板
tpl = Template("我叫{name},今年{age}岁")
# 填值
print(tpl.format(name="小明", age=18))
print(tpl.format(name="小红", age=20))
看出来区别了吗?同一个模板,可以反复用,填不同的值。这在写日志、生成邮件、做网页模板的时候特别有用。
新手最容易踩的 3 个坑
坑1:搞不清该用 f-string 还是 t-string
记住一句话:值当场就知道,用 f-string;值后面才填,用 t-string。
坑2:忘记导入 Template
t-string 需要用之前先导入,不然会报 NameError。
Python 正确导入方式
# 正确 ✅
from string.templatelib import Template
tpl = Template("Hello {name}")
# 错误 ❌(会报 NameError)
Template("Hello") # NameError
坑3:模板里的变量名写错
填值的时候变量名必须跟模板里的一致,不然会报错。这个比 f-string 严格,但好处是能提前发现问题。
一句话总结
t-string 让字符串模板变得像填空题一样简单。你先出题目(模板),后面再填答案(值)。对于需要反复生成相似字符串的场景,它就是救星。
以上就是“Python 3.14 的 t-strings 来了!这个新功能让字符串格式化再也不用纠结了”的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。
扫码二维码 获取免费视频学习资料

- 本文固定链接: http://www.phpxs.com/post/14267/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料