如何打印variables之间没有空格之间的空格

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

就像我这样做的时候:

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

输出将是:

 Value is " 42 " 

但我想要:

 Value is "42" 

有没有办法做到这一点?

不要使用print ...,如果你不想要空间。 使用string连接或格式。

级联:

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

格式:

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

后者更灵活,请参阅str.format()方法文档和Formatting String Syntax部分 。

您还会遇到旧的%格式样式 :

 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 = '')

可以帮助未来的人。

这是逗号提供额外的空白。

一种方法是使用string%方法:

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

这与printf中的printf类似,允许您在string本身中使用格式说明符来合并和格式化项目。 另一个例子,显示使用多个值:

 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<< 

去build立Martjin的话 我会使用string插值/格式。

在Python 2.x中,由于缺less围绕打印函数的括号,因此您似乎正在使用这种方法:

 print 'Value is "%d"' % value 

在Python 3.x中,你会使用格式化方法,所以你的代码看起来像这样。

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

https://docs.python.org/2/library/functions.html#print

print(* objects,sep ='',end ='\ n',file = sys.stdout)

注意:由于名称打印被识别为打印语句,因此此function通常不可用作为内置function。 要禁用语句并使用print()函数,请在模块的顶部使用这个future语句:

将来导入print_function

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