【Python】一文向您详细介绍格式化字符串中 %s、%d、%f 的用法

【Python】一文向您详细介绍格式化字符串中 %s、%d、%f 的用法
 
下滑即可查看博客内容
在这里插入图片描述

🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇

🎓 博主简介985高校的普通本硕,曾有幸发表过人工智能领域的 中科院顶刊一作论文,熟练掌握PyTorch框架

🔧 技术专长: 在CVNLP多模态等领域有丰富的项目实战经验。已累计一对一为数百位用户提供近千次专业服务,助力他们少走弯路、提高效率,近一年好评率100%

📝 博客风采: 积极分享关于深度学习、PyTorch、Python相关的实用内容。已发表原创文章500余篇,代码分享次数逾六万次

💡 服务项目:包括但不限于科研入门辅导知识付费答疑以及个性化需求解决

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


下滑即可查看博客内容

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  

📚 一、引言

  在Python编程中,字符串格式化是一个重要的技能,它允许我们将不同的数据类型(如整数、浮点数、字符串等)嵌入到字符串中,以创建动态且易于阅读的文本。在Python的早期版本中,% 运算符被广泛用于字符串格式化。本文将向您详细介绍格式化字符串中 %s%d%f 的用法,并通过示例代码帮助您理解其工作原理。

🔍 二、理解 %s、%d、%f

  在Python中,% 运算符用于字符串格式化,它允许我们将一个或多个值插入到字符串的指定位置。这些值可以是字符串、整数或浮点数等。为了指示插入值的位置和类型,我们使用格式化符号,如 %s%d%f

  • %s:用于插入字符串值。
  • %d:用于插入整数值。
  • %f:用于插入浮点数值。

💻 三、基本用法示例

字符串格式化

name = "Alice"
age = 30
print("My name is %s and I am %d years old." % (name, age))
# 输出:My name is Alice and I am 30 years old.

浮点数格式化

price = 123.456789
print("The price is %.2f." % price)
# 输出:The price is 123.46.

在上述示例中,我们使用了 % 运算符和相应的格式化符号来插入变量值到字符串中。注意,在 % 运算符后面,我们使用了一个元组来提供要插入的值。

🔧 四、进阶用法

宽度、精度和填充

  除了基本的格式化符号外,我们还可以在格式化字符串中指定宽度、精度和填充字符。

  • 宽度:指定字段的最小宽度。如果字段的实际宽度小于指定宽度,则使用空格填充。
  • 精度:对于浮点数,它指定小数点后的位数。对于字符串,它指定要使用的最大字符数。
  • 填充:指定用于填充的字符。默认情况下,使用空格填充。
num = 123
print("Number: %5d" % num)  # 宽度为5,使用空格填充
# 输出:Number:   123

num_str = "12345"
print("Number: %5.3s" % num_str)  # 宽度为5,精度为3,截取字符串前3个字符
# 输出:Number: 123

price = 123.456789
print("Price: %.2f" % price)  # 精度为2,保留两位小数
# 输出:Price: 123.46

格式化列表和元组

  我们还可以使用 % 运算符来格式化列表和元组中的值。这需要使用 % 运算符的扩展版本 *,它将列表或元组中的值作为单独的参数传递给格式化字符串。

name = "Bob"
scores = [90, 85, 92]
print("Name: %s, Scores: %d, %d, %d" % (name, *scores))
# 输出:Name: Bob, Scores: 90, 85, 92

💡 五、举一反三

自定义格式化

  虽然 %s%d%f 是最常用的格式化符号,但Python还提供了其他格式化符号,允许我们进行更复杂的格式化操作。例如,%x%X 用于将整数格式化为十六进制字符串(小写和大写)。

num = 255
print("Hexadecimal: %x" % num)  # 小写十六进制
# 输出:Hexadecimal: ff
print("Hexadecimal: %X" % num)  # 大写十六进制
# 输出:Hexadecimal: FF

格式化字典值

  虽然 % 运算符本身不支持直接格式化字典值,但我们可以结合字典的 get() 方法或键访问来间接实现。

person = {"name": "Charlie", "age": 25}
print("Name:%s, Age: %d" % (person["name"], person["age"]))
# 输出:Name: Charlie, Age: 25

使用字典和%的替代方案

  随着Python的发展,新的字符串格式化方法如str.format()和f-string(字面量格式化字符串)已经变得更加常用和灵活。这些新方法提供了更多的功能和可读性。

🔍 六、使用str.format()方法

  str.format()方法允许我们使用大括号{}作为占位符,并通过位置或关键字参数来提供值。这种方法更加灵活,易于阅读和维护。

name = "David"
age = 35
print("My name is {} and I am {} years old.".format(name, age))
# 输出:My name is David and I am 35 years old.

# 使用关键字参数
person = {"name": "Eve", "age": 40}
print("Name: {name}, Age: {age}".format(**person))
# 输出:Name: Eve, Age: 40

str.format()还支持更复杂的格式化选项,如字段宽度、精度、千位分隔符等。

🚀 七、总结与展望

  在本文中,我们详细介绍了Python中使用%运算符进行字符串格式化的方法,包括基本用法、进阶用法以及与其他数据结构的结合使用。同时,我们还提到了str.format()方法作为%运算符的替代方案,并简要介绍了其优点。

  然而,随着Python的不断发展,新的字符串格式化方法如f-string已经变得越来越流行。f-string允许我们在字符串中嵌入表达式,并使用大括号{}直接引用变量或执行计算。这种方法更加简洁、直观和易于阅读。

  因此,虽然%运算符和str.format()方法仍然有效且在某些情况下可能更合适,但建议您熟悉并尝试使用f-string,以提高代码的可读性和效率。

  最后,无论您选择哪种字符串格式化方法,重要的是要理解其工作原理和优缺点,以便在编写Python代码时能够做出明智的选择。希望本文对您有所帮助!

  • 35
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高斯小哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值