在python中编写print语句时,最好先编写
print('some text', variable, variable, expression)
或
print('some text' + str(variable) ...)
打印处理方式有何不同?
答案 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) ...)
构造一个新的字符串对象,显示它,然后立即丢弃它。除非参数列表很长并且结果字符串很大,但我怀疑你会注意到时差。我认为第一个比第二个更惯用更重要。