想要在 Python 中格式化输出字符串,看这一篇就够了(方法大全)


在本文中介绍不同的方法进行字符串格式化输出。包括百分号(%)、format() 函数、f-strings、center()和 string.Template,以帮助你选择最适合你需求的方法。

使用百分号(%)格式化字符串

百分号(%)是 Python 中用于字符串格式设置的传统方法。它的工作原理是将字符串中的占位符替换为元组中的值。

如果只需要进行一些基本的字符串更改,使用百分号(%)很方便。

name = "李明"
age = 13
formatted_string = "我是%s,我今年%d岁了。" %(name, age)
print(formatted_string)
# 输出:我是李明,我今年13岁了。

请注意,需要使用特定类型的字符后缀,以指示要输出的数据类型,表示是要替换的字符串是数字还是字符串。如果未指定类型,Python 将抛出 TypeError。

转换说明符描述
s字符串
d整数
f浮点数

使用 format()格式化字符串

str.format() 方法将占位符替换为值,是一种灵活的字符串格式设置方法。此方法在 Python 2 和 Python 3 中都可使用,使其成为需要代码与两个版本兼容的不错选择。

在字符串中,可以使用大括号定义占位符。然后在字符串上调用该方法,并提供参数作为替换占位符的值。

name = "李明"
age = 13
formatted_string = "我是{},我今年{}岁了。" .format(name, age)
print(formatted_string)
# 输出:我是李明,我今年13岁了。

使用 f-string 格式化字符串

f-strings 是 Python 中最新的字符串格式化方法。首先出现在 Python 3.6 中,是格式化字符串最简洁、最易读的方式。

f-string 的工作原理是将表达式嵌入大括号 {} 中,并在运行时计算表达式并将其插入到字符串中。

name = "李明"
age = 13
formatted_string = f"我是{name},我今年{age}岁了。"
print(formatted_string)
# 输出:我是李明,我今年13岁了。

使用 string.Template 格式化字符串

在 Python string.Template 模块中提供了一种安全且可扩展的方法来执行字符串替换。可用于创建频繁重复出现的动态字符串,例如生成 HTML 页面或电子邮件。

为了使用 string.Template,首先需要创建一个模板字符串。同时,必须使用美元符号($)指定占位符。

from string import Template
name = "李明"
age = 13
template = Template("我是$name,我今年$age岁了。")
formatted_string = template.substitute(name=name, age=age)
print(formatted_string)
# 输出:我是李明,我今年13岁了。

使用 center() 格式化字符串

该方法用于在给定宽度内对字符串进行居中对齐。虽然它不是传统的字符串格式设置方法,但当需要以特定方式对齐文本时,它会很有用。

在字符串上调用该方法,将所需的宽度作为参数传递。该方法将在字符串上填充空格,使其在指定的宽度内居中。

例如,以下代码将字符串“Hello,world!”居中,宽度为 20。

text = "Hello, world!"
print(text.center(20))
# 输出:   Hello, world!    

Python 字符串格式化方法的比较

方法描述优势不足
%                                                                                 Python 中最古老的字符串格式化方法。简单明了。适合 C 或 C++ 背景的开发人员。可用于 Python 2 和 Python 3。不是很强大、灵活。
format()Python 中一种较新的字符串格式设置方法。比 % 更强大、更灵活。兼容 Python 2 和 Python 3。可能很复杂。
f-stringPython 中最新的字符串格式化方法。最简洁易读的字符串格式。在旧版本的 Python 中不受支持。
Template允许创建带有占位符的模板字符串,这些占位符可以替换为实际值。对于创建重复使用的动态字符串很有用。可能很复杂。
center()将字符串居中,使其在给定宽度内居中。可用于设置显示字符串的格式。仅格式化单个字符串。
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Python格式化输出二进制数,可以使用format函数和格式化指令“b”。这个指令会将给定的数字转换为二进制,并以字符串的形式返回。下面是一个示例代码: ```python n = 10 result = '{:b}'.format(n) print(result) ``` 这段代码将数字10转换为二进制,并以字符串的形式输出。在输出,前缀“0b”表示这是一个二进制数。输出结果为“1010”。 你还可以通过在格式化指令添加宽度和对齐选项来控制输出的格式。例如,如果你希望输出的二进制数占据8个字符宽度,并且右对齐,可以使用以下代码: ```python n = 10 result = '{:8b}'.format(n) print(result) ``` 在这个示例,输出结果为“ 1010”,其空格用于填充宽度。 请注意,使用格式化指令“b”只适用于整数类型的数据。如果你要格式化的是一个浮点数或其他非整数类型的数据,你需要先将其转换为整数。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python之输出格式化、进制转换](https://blog.csdn.net/m0_52127604/article/details/122423788)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [【Python基础篇002】:超详细的格式化输出(format的基本玩法)](https://blog.csdn.net/weixin_64471900/article/details/124447737)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值