天天看点

python怎么输出变量的值_关于python:如何打印值之间没有空格的变量

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

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

就像我这样做:

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

输出将是:

1Value is" 42"

但我想要:

1Value is"42"

有什么办法吗?

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

级联:

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

格式化:

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

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

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

1

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

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

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

哦,好吧,我不知道,只是学了Python,谢谢你的快速回答!

''.format样式更可取,因为它避免了几种与%样式相关的边缘情况,例如隐式提升到unicode和无意的% tuple和% dict用法。

@J.F.Sebastian:更不用说str.format()支持自定义类格式;例如,您不能像使用str.format()那样使用%轻松格式化datetime对象。然后是递归字段定义(您可以使用字段确定其他字段的格式)等。

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

希望它将来能帮助别人。

谢谢您!这帮我解决了一个困扰我很久的问题

这是Python3特有的语法。

非常有用的提示

逗号提供了额外的空白。

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

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

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

1print '%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<<

%插值容易出现tuple的错误和其他特殊行为。

然而,不知怎么的,我设法拼凑出代码,让它第一次工作。是的,您必须了解所使用工具的缺点。在任何领域都是如此。我不是那种倾向于将任意类型传递给格式化操作的开发人员:—)

这就是为什么新用户可以在99.999%的python安装中不使用任何边缘案例的.format是更为新的友好型解决方案的原因。-

安蒂。呃,只是利息,其他0.001%是什么?或者,这仅仅是对宣称确定性的沉默?不是说我有这个问题,我以前就做过。

这意味着,可能有人在学习Python来维护一个运行并坚持使用<=2.5或Jython2.5的解决方案。

这非常有效:print(1,2,3,4,5,sep='',end='<

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

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

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

从未来导入打印功能

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

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

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

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

1

2message = 'Value is"{}"'

print(message.format(value))

1

2

3

4

5>>> value=42

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

Value is"42"

不需要有额外的连接,只需要获得"字符

用户repr或,在这种情况下,%r。