如何打印值之间没有空格的变量

时间:2015-02-23 08:21:27

标签: python whitespace python-2.x

我想知道在打印东西时如何删除额外的空格。

就像我一样:

print 'Value is "', value, '"'

输出将是:

Value is " 42 "

但我想:

Value is "42"

有没有办法做到这一点?

6 个答案:

答案 0 :(得分:38)

如果您不想要空格,请不要使用print ...,。使用字符串连接或格式化。

级联:

print 'Value is "' + str(value) + '"'

格式:

print 'Value is "{}"'.format(value)

后者更灵活,请参阅str.format() method documentationFormatting 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"