欢迎光临葬花网
详情描述

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年,无固定期限劳动合同的签订条件与劳动者权益保障有何新趋势?
2026年更换老旧的住宅电梯,可以使用维修基金来支付部分费用吗?
2026年更换老旧的住宅电梯,可以使用维修基金来支付部分费用吗?
对比各大生活缴费App,2026年哪款在功能和用户体验上更胜一筹?
对比各大生活缴费App,2026年哪款在功能和用户体验上更胜一筹?
淄博市殡葬一条龙公司|丧葬一条龙服务办理,丧事仪式
淄博市殡葬一条龙公司|丧葬一条龙服务办理,丧事仪式
当我们谈论“以旧换新”时,是否无意中助长了过度消费和资源浪费的循环?
当我们谈论“以旧换新”时,是否无意中助长了过度消费和资源浪费的循环?
乐山市殡葬服务一条龙办理-殡葬追思会服务,有竞争力的价格
乐山市殡葬服务一条龙办理-殡葬追思会服务,有竞争力的价格
有哪些容易被忽略的PPT操作技巧,能极大提升你的制作速度?
有哪些容易被忽略的PPT操作技巧,能极大提升你的制作速度?
2026年新型隔代育儿补贴形式探索,除现金外还有哪些支持服务?
2026年新型隔代育儿补贴形式探索,除现金外还有哪些支持服务?
如何在家庭与社区中普及祭祀用火的安全知识,有效预防火灾发生?
如何在家庭与社区中普及祭祀用火的安全知识,有效预防火灾发生?
除了查看日期,还有哪些可靠的感官指标能帮助我们判断食物安全性?
除了查看日期,还有哪些可靠的感官指标能帮助我们判断食物安全性?
济宁市殡葬一站式服务|办理白事服务,殡仪殡葬灵堂
济宁市殡葬一站式服务|办理白事服务,殡仪殡葬灵堂
烟台市精准获客@独立网站建设,价格透明
烟台市精准获客@独立网站建设,价格透明
安庆市专业网站建设#安卓app开发,服务可靠
安庆市专业网站建设#安卓app开发,服务可靠
购买不同品牌的新能源汽车,其合作的充电网络费用是否存在明显差别?
购买不同品牌的新能源汽车,其合作的充电网络费用是否存在明显差别?
自贡市办理白事服务-火化入盒,价格合理
自贡市办理白事服务-火化入盒,价格合理
零工工作者在提供服务过程中受伤或发生意外,责任认定与保障机制是怎样的?
零工工作者在提供服务过程中受伤或发生意外,责任认定与保障机制是怎样的?
黄冈市短视频运营推广@企业网站建设公司,收费透明
黄冈市短视频运营推广@企业网站建设公司,收费透明
黔南品牌网站开发设计#手机app开发,一站式建站服务
黔南品牌网站开发设计#手机app开发,一站式建站服务