【发布时间】:2021-01-21 21:06:18
【问题描述】:
我最近开始学习python,发现它非常有趣。但是,当我尝试格式化字符串时,f"{var}..." 前面有一个多余的空间。
这是我的代码:
# Formatted Strings
segment1 = "First segment"
segment2 = "Second segment"
notFormatted = "First: " + segment1 + " Second: " + segment2 + "\n" # This is hard to read / maintain
formatted = f"First: {segment1} Second: {segment2} \n" # This approach is much cleaner
print(notFormatted, formatted) # Should output same text
我得到了什么:[在控制台中]
First: First segment Second: Second segment
First: First segment Second: Second segment
如上图第二行以空格开始,以空格结束
我知道我可以使用 strip 功能来删除它,但我很好奇它为什么会在那里。是因为\n吗?
更新:
# Formatted Strings
segment1 = "First segment"
segment2 = "Second segment"
notFormatted = "First: " + segment1 + " Second: " + segment2 + "\n".strip() # This is hard to read / maintain
formatted = f"First: {segment1} Second: {segment2} \n".strip() # This approach is much cleaner
print(notFormatted, formatted) # Should output same text
这段代码的输出将两行合并在一起,我应该如何解决这个问题?
【问题讨论】:
-
试试
print(notFormatted + formatted)(更简单的例子:print(1, 2))。 -
或
print(notFormatted, formatted, sep="") -
是的,原因是您提交了一对字符串 - 试试
print ( "a", "b")- print 语句打印它们的方式与打印单个字符串print("a" + "b")的方式不同。
标签: python string formatted-text