何时使用,vs str()

时间:2013-07-31 02:26:38

标签: python python-3.x

def mymath(a, b):
    print("Add: " + str(a+b))
    print("Multiply: " + str(a*b))
    print("Divide: ", a/b)
    print("Subtract: ", a-b)

mymath(10, 15)

我想知道使用+ str(var1 + var2) vs , var1, var2是否有所作为?如果是的话,我应该何时使用其中一个?

2 个答案:

答案 0 :(得分:3)

,的使用特定于print功能。它会自动插入空格。最好在需要空间时使用,因为它可以避免str调用。

但是,如果你需要一个字符串(例如放入一个变量),你需要使用+str(...)

答案 1 :(得分:2)

Read the manual

  

所有非关键字参数都会转换为str()之类的字符串,并写入流中,由sep分隔,后跟end

因此,如果您将单个参数传递给print(例如"Multiply: " + str(a*b)),则不会在它们之间插入sep。 (所以没有多余的空间特征。)

所有这些行都是相同的(区别在于幕后调用str的次数以及构造了多少个中间字符串):

print("Multiply:", a*b)
print("Multiply: " + str(a*b))
print("Multiply: ", a*b, sep="")