【发布时间】:2014-04-22 08:40:37
【问题描述】:
我一直在环顾四周,但无法找到这个问题的明确答案:在 Python 中打印变量的推荐方法是什么?
到目前为止,我已经看到了三种方法:使用逗号、使用百分号或使用加号:
>>> a = "hello"
>>> b = "world"
>>> print a, "to the", b
hello to the world
>>> print "%s to the %s" % (a, b)
hello to the world
>>> print a + " to the " + b
hello to the world
每种方法似乎都有其优点和缺点。
逗号允许直接写入变量并添加空格,以及在需要时自动执行字符串转换。但我似乎记得,良好的编码实践表明最好将变量与文本分开。
百分号允许这样做,尽管它们需要在有多个变量时使用列表,并且您必须编写变量的类型(尽管即使变量类型不同,它似乎也可以转换,比如尝试用 %s 打印一个数字)。
加号似乎是“最糟糕的”,因为它们混合了变量和文本,并且不会即时转换;虽然可能有必要不时对您的变量进行更多控制。
我环顾四周,似乎其中一些方法现在可能已经过时了。由于它们似乎都有效并且各有利弊,我想知道:是否有推荐的方法,或者它们都取决于上下文?
【问题讨论】:
-
.format更好。这个问题“主要基于意见”,以及我的评论 -
这个问题可能值得标记
python2.7。 -
你可以看看这个链接:- ebeab.com/2012/10/10/python-string-format
-
投了反对票,因为您显然没有在 Google 上搜索
python format string,这会导致您使用format方法。另见docs.python.org/2/library/string.html#formatspec -
@l4mpi 我承认“格式”不是在谈论这个时想到的一个词,但它应该有。很抱歉,感谢您的回答。
标签: python variables concatenation string-formatting