我想知道如何在打印某些内容时删除多余的空格。
就像我做的那样:
print 'Value is "', value, '"'
输出将是:
Value is " 42 "
但我想要:
Value is "42"
有什么办法可以做到这一点吗?
[在 Python 2.x 中] 如果不需要空格,请不要使用
print ...,
(带有尾随逗号的打印语句)。使用字符串连接或格式化。
连接:
print 'Value is "' + str(value) + '"'
格式:
print 'Value is "{}"'.format(value)
str.format()
方法文档 和 格式化字符串语法 部分。
%
格式样式:
print 'Value is "%d"' % value
print 'Value is "%d", but math.pi is %.2f' % (value, math.pi)
但这不像较新的
str.format()
方法那么灵活。
print(f"Value is {value}")
这只是一个对未来的简单答案,我发现它很容易作为入门者使用: 类似于使用
end=''
来避免换行,您可以使用 sep=''
来避免空格...对于这里的这个问题,它看起来像这样:
print('Value is "', value, '"', sep = '')
愿它对未来的人有所帮助。
逗号提供了额外的空白。
一种方法是使用字符串
%
方法:
print 'Value is "%d"' % (value)
类似于 C 中的
printf
,允许您通过在字符串本身中使用格式说明符来合并和格式化 %
之后的项目。另一个例子,展示了多个值的使用:
print '%s is %3d.%d' % ('pi', 3, 14159)
无论如何,Python 3 允许您为单个
print
调用指定分隔符和终止符,从而极大地改善了这种情况:
>>> print(1,2,3,4,5)
1 2 3 4 5
>>> print(1,2,3,4,5,end='<<\n')
1 2 3 4 5<<
>>> print(1,2,3,4,5,sep=':',end='<<\n')
1:2:3:4:5<<
https://docs.python.org/2/library/functions.html#print
print(*对象, sep=' ', end=' ', file=sys.stdout)
注意:此函数通常不能作为内置函数使用,因为名称 print 被识别为 print 语句。要禁用该语句并使用 print() 函数,请在模块顶部使用此 future 语句:
从未来导入打印函数
以 Martjin 所说的为基础。 我会使用字符串插值/格式化。
在 Python 2.x 中,这似乎是您正在使用的,因为您所做的打印函数周围缺少括号:
print 'Value is "%d"' % value
在 Python 3.x 中,您将使用 format 方法,因此您的代码将如下所示。
message = 'Value is "{}"'
print(message.format(value))
>>> value=42
>>> print "Value is %s"%('"'+str(value)+'"')
Value is "42"