在python中print('text'+ str(variable))和print('stuff',variable)有什么区别?

时间:2015-11-12 23:08:39

标签: python

在python中编写print语句时,最好先编写

print('some text', variable, variable, expression)

print('some text' + str(variable) ...)

打印处理方式有何不同?

3 个答案:

答案 0 :(得分:1)

我不确定Python,但基本的差异与性能有关。

print('some text', variable, variable, expression) - 这称为参数化,可提高性能。

print('some text' + str(variable) ...) - 产生构造消息参数的成本,即将类型转换为字符串

答案 1 :(得分:1)

您的主要区别在于,如果您要“参数化”打印功能(正如Vikram所说的那样),print有一个默认的sep参数,可以将您的参数与sep分开可能是(默认为' ')。如果不将变量拆分为参数并将它们连接成一个字符串,就不会有空格。 即:

>>> print(1,2)
1 2
>>> print(str(1)+str(2))
12

我认为你想知道的另一件事是调用str。简而言之,无论如何都要打印您的参数str(parameter),在这方面,确实没有区别。

总之,print输出的字符串几乎与:

相同
sep.join(parameters) #where sep is defaulted to ' '

答案 2 :(得分:1)

一般来说,

print('some text', variable, variable, expression)

会比

更有效率
print('some text' + str(variable) ...)

构造一个新的字符串对象,显示它,然后立即丢弃它。除非参数列表很长并且结果字符串很大,但我怀疑你会注意到时差。我认为第一个比第二个更惯用更重要。