当前位置:首页 > Python > 正文

Python字符串中变量的使用教程 - 详解3种格式化方法 | Python编程指南

Python字符串中变量的使用:3种格式化方法详解

在Python编程中,将变量插入字符串是常见操作。本文将详细讲解三种主流方法:f-string、str.format()和%格式化。

1. f-string(Python 3.6+推荐)

最简洁直观的方式,直接在字符串前加f前缀:

name = "张三"
age = 25
print(f"姓名:{name},年龄:{age}岁")

输出: 姓名:张三,年龄:25岁

表达式计算

a, b = 5, 3
print(f"{a} × {b} = {a*b}")

输出: 5 × 3 = 15

2. format()方法

兼容Python 2.6+的通用方法:

title = "Python教程"
print("欢迎学习{}!".format(title))

输出: 欢迎学习Python教程!

多变量定位

item = "苹果"
price = 8.5
print("{}的价格是:{:.2f}元".format(item, price))  # 保留两位小数

输出: 苹果的价格是:8.50元

命名参数

print("坐标:{x}, {y}".format(x=120, y=50))

3. %格式化(传统方法)

类似C语言的经典方式:

lang = "Python"
year = 2023
print("%s语言发布于1991年,当前版本:%d" % (lang, year))

输出: Python语言发布于1991年,当前版本:2023

常用占位符

  • %s - 字符串
  • %d - 整数
  • %f - 浮点数

方法对比与最佳实践

方法 Python版本 可读性 性能
f-string ≥3.6 ⭐⭐⭐⭐⭐ 最快
format() ≥2.6 ⭐⭐⭐⭐ 中等
%格式化 所有版本 ⭐⭐⭐ 最慢

使用建议:

  1. Python 3.6+项目优先使用f-string
  2. 需要兼容旧版本时使用format()
  3. 避免在新项目中使用%格式化
  4. 处理浮点数时:f"{value:.2f}""{:.2f}".format(value)

实际应用场景

场景1:生成报告

user = "李四"
    login_count = 42
    report = f"用户{user}本月登录{login_count}次"
    print(report)

场景2:SQL查询

table_name = "users"
    query = "SELECT * FROM {} WHERE id = {}".format(table_name, 1001)

常见问题解答

Q:大括号如何转义?
A:使用双大括号:f"{{ {name} }}" → { 张三 }

Q:f-string能处理多行吗?
A:可以:

message = (
    f"姓名:{name}\\n"
    f"年龄:{age}\\n"
    f"地址:{'北京'}"
)

发表评论