我想知道在打印东西时如何删除额外的空格。
就像我一样:
print 'Value is "', value, '"'
输出将是:
Value is " 42 "
但我想:
Value is "42"
有没有办法做到这一点?
答案 0 :(得分:38)
如果您不想要空格,请不要使用print ...,
。使用字符串连接或格式化。
级联:
print 'Value is "' + str(value) + '"'
格式:
print 'Value is "{}"'.format(value)
后者更灵活,请参阅str.format()
method documentation和Formatting String Syntax section。
您还会遇到较旧的%
formatting style:
print 'Value is "%d"' % value
print 'Value is "%d", but math.pi is %.2f' % (value, math.pi)
但这并不像较新的str.format()
方法那样灵活。
答案 1 :(得分:17)
对于我发现易于用作启动器的未来,这是一个简单的答案:
与使用end=''
避免新行类似,您可以使用sep=''
来避免空格...对于此问题,此处看起来像这样:
print('Value is "', value, '"', sep = '')
将来可以帮助某人。
答案 2 :(得分:4)
它是提供额外空白区域的逗号。
一种方法是使用字符串%
方法:
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<<
答案 3 :(得分:1)
要建立Martjin所说的话。 我使用字符串插值/格式化。
在Python 2.x中,由于打印功能缺少括号,您似乎正在使用它:
print 'Value is "%d"' % value
在Python 3.x中,您可以使用格式化方法,因此您的代码看起来就像这样。
message = 'Value is "{}"'
print(message.format(value))
答案 4 :(得分:1)
https://docs.python.org/2/library/functions.html#print
print(* objects,sep =&#39;&#39;,end =&#39; \ n&#39;,file = sys.stdout)
注意:此功能通常不作为内置功能使用,因为名称print被识别为print语句。要禁用该语句并使用print()函数,请在模块顶部使用此future语句:
来自 future import print_function
答案 5 :(得分:-1)
>>> value=42
>>> print "Value is %s"%('"'+str(value)+'"')
Value is "42"