关于python:如何打印值之间没有空格的变量

How to print variables without spaces between values

本问题已经有最佳答案,请猛点这里访问。

我想知道如何删除额外的空间,当我打印的东西。

就像我这样做:

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

输出将是:

1
Value is" 42"

但我想要:

1
Value is"42"

有什么办法吗?


如果不需要空格,请不要使用print ...,。使用字符串串联或格式。

级联:

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

格式化:

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

后者更为灵活,请参阅str.format()方法文档和格式化字符串语法部分。

您还将看到旧的%格式样式:

1
2
print 'Value is"%d"' % value
print 'Value is"%d", but math.pi is %.2f' % (value, math.pi)

但这并不像新的str.format()方法那么灵活。


只是一个简单的未来答案,我发现它很容易作为一个开端使用:类似于使用end=''来避免新行,您可以使用sep=''来避免空白……对于这里的问题,它看起来是这样的:print('Value is"', value, '"', sep = '')

希望它将来能帮助别人。


逗号提供了额外的空白。

一种方法是使用字符串%方法:

1
print 'Value is"%d"' % (value)

这类似于c中的printf,允许您使用字符串本身的格式说明符合并和格式化%之后的项。另一个示例显示了多个值的使用:

1
print '%s is %3d.%d' % ('pi', 3, 14159)

就其价值而言,python 3允许您为单个print调用指定分隔符和终止符,从而大大改善了这种情况:

1
2
3
4
5
6
7
8
9
10
>>> print(1,2,3,4,5)
1 2 3 4 5

>>> print(1,2,3,4,5,end='<<
'
)
1 2 3 4 5<<

>>> print(1,2,3,4,5,sep=':',end='<<
'
)
1:2:3:4:5<<


https://docs.python.org/2/library/functions.html打印

打印(*objects,sep='',end='',file=sys.stdout)

注意:此函数通常不作为内置函数使用,因为名称print被识别为print语句。要禁用该语句并使用print()函数,请在模块顶部使用下面的语句:

从未来导入打印功能


以巩固马金的话。我将使用字符串插值/格式化。

在python 2.x中,由于打印函数周围缺少圆括号,您似乎正在使用它:

1
print 'Value is"%d"' % value

在python 3.x中,您将使用格式化方法,所以您的代码应该是这样的。

1
2
message = 'Value is"{}"'
print(message.format(value))

1
2
3
4
5
>>> value=42

>>> print"Value is %s"%('"'+str(value)+'"')

Value is"42"