欢迎光临中国葬花网
详情描述

1. % 格式化(最传统)

name = "张三"
age = 25
print("我叫%s,今年%d岁" % (name, age))
# 输出: 我叫张三,今年25岁

常用格式符:

  • %s - 字符串
  • %d - 整数
  • %f - 浮点数
  • %.2f - 保留两位小数

2. str.format() 方法(Python 2.6+)

# 位置参数
print("我叫{},今年{}岁".format("张三", 25))

# 命名参数
print("我叫{name},今年{age}岁".format(name="张三", age=25))

# 数字格式化
print("价格: {:.2f}".format(99.876))  # 保留两位小数
print("百分比: {:.1%}".format(0.876))  # 百分比格式

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

name = "张三"
age = 25
score = 95.5

# 基本使用
print(f"我叫{name},今年{age}岁")

# 表达式计算
print(f"明年我{age + 1}岁")

# 格式控制
print(f"分数: {score:.2f}")      # 保留两位小数
print(f"分数: {score:08.2f}")    # 总宽度8,不足补0

# 对齐
print(f"{'左对齐':<10}|{'居中':^10}|{'右对齐':>10}")

4. Template 字符串(安全模板)

from string import Template

template = Template("我叫$name,今年$age岁")
result = template.substitute(name="张三", age=25)
print(result)  # 输出: 我叫张三,今年25岁

# safe_substitute防止缺少变量报错
safe_template = Template("欢迎$user访问")
result = safe_template.safe_substitute()  # 不会报错

5. 字符串拼接和join

# 简单拼接(性能较差)
name = "张三"
result = "我叫" + name + ",今年" + str(25) + "岁"

# join方法(性能较好)
parts = ["我叫", name, ",今年", str(25), "岁"]
result = "".join(parts)

# 字符串重复
print("-" * 20)  # 输出20个减号

各方法对比

方法 Python版本 优点 缺点
% 格式化 所有版本 简洁,类似C语言 类型错误风险,不够灵活
str.format() 2.6+ 功能强大,支持复杂格式化 语法稍复杂
f-string 3.6+ 简洁高效,可读性好 需要Python 3.6+
Template 所有版本 安全,防注入攻击 功能有限
字符串拼接 所有版本 简单直观 性能差,代码冗长

最佳实践建议

Python 3.6+项目:优先使用 f-string,性能好,可读性高 需要兼容旧版本:使用 str.format() 处理用户输入:考虑使用 Template 防止注入攻击 简单变量替换:f-string 或 str.format() 复杂格式化:str.format() 或 f-string

示例:各种方法的相同功能实现

name, age, score = "李四", 30, 88.456

# 1. % 格式化
print("姓名:%s, 年龄:%d, 分数:%.2f" % (name, age, score))

# 2. str.format()
print("姓名:{}, 年龄:{}, 分数:{:.2f}".format(name, age, score))

# 3. f-string(推荐)
print(f"姓名:{name}, 年龄:{age}, 分数:{score:.2f}")

# 4. Template
from string import Template
t = Template("姓名:$name, 年龄:$age, 分数:$score")
print(t.substitute(name=name, age=age, score=f"{score:.2f}"))

根据你的具体需求选择合适的格式化方法,现代Python开发中f-string是首选。

相关帖子
2026年更换老旧的住宅电梯,可以使用维修基金来支付部分费用吗?
2026年更换老旧的住宅电梯,可以使用维修基金来支付部分费用吗?
对比各大生活缴费App,2026年哪款在功能和用户体验上更胜一筹?
对比各大生活缴费App,2026年哪款在功能和用户体验上更胜一筹?
淄博市殡葬一条龙公司|丧葬一条龙服务办理,丧事仪式
淄博市殡葬一条龙公司|丧葬一条龙服务办理,丧事仪式
2026年,如何为自己规划一份清晰可靠的个人养老时间表?
2026年,如何为自己规划一份清晰可靠的个人养老时间表?
淄博市网站优化服务#精准获客,小程序开发
淄博市网站优化服务#精准获客,小程序开发
白银市网站开发设计#erp系统开发,一站式服务
白银市网站开发设计#erp系统开发,一站式服务
在异地提交了换证申请后,因故需要取消或修改信息该如何操作?
在异地提交了换证申请后,因故需要取消或修改信息该如何操作?
山南市网站优化公司#精准获客助手,模板建站
山南市网站优化公司#精准获客助手,模板建站
农业遥感如何帮助农民了解作物长势并预估产量,2026年有哪些新应用?
农业遥感如何帮助农民了解作物长势并预估产量,2026年有哪些新应用?
在选择医保定点药店时,我们应该重点考虑和对比哪些因素?
在选择医保定点药店时,我们应该重点考虑和对比哪些因素?
为什么说智能水表和电表的数据,正在成为评估个人信用的潜在依据?
为什么说智能水表和电表的数据,正在成为评估个人信用的潜在依据?
南充市安卓系统app开发@品牌网站定制开发,专业建站
南充市安卓系统app开发@品牌网站定制开发,专业建站
恋爱期间共同出资买房但未结婚,房产的归属问题应该如何妥善处理?
恋爱期间共同出资买房但未结婚,房产的归属问题应该如何妥善处理?
如果未来想买下政府持有的产权份额,具体的评估和购买流程是怎样的?
如果未来想买下政府持有的产权份额,具体的评估和购买流程是怎样的?
在2026年,面对越来越逼真的AI生成内容,我们该如何保持警惕?
在2026年,面对越来越逼真的AI生成内容,我们该如何保持警惕?
员工主动辞职时,当年未休的年休假工资应该如何正确计算和支付?
员工主动辞职时,当年未休的年休假工资应该如何正确计算和支付?
2026年想将家里的高额宽带套餐降级,运营商却设置重重障碍该怎么办?
2026年想将家里的高额宽带套餐降级,运营商却设置重重障碍该怎么办?
汉中市正规殡葬公司|丧葬服务公司,搭设灵堂
汉中市正规殡葬公司|丧葬服务公司,搭设灵堂
在停工停课期间,企业是否有权安排员工使用带薪年假或其他假期?
在停工停课期间,企业是否有权安排员工使用带薪年假或其他假期?
延安市网站建设推广服务#外贸网站建设,高端网站开发设计
延安市网站建设推广服务#外贸网站建设,高端网站开发设计