0
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?如果是这样,我应该什么时候使用其中一种?

4

2 回答 2

3

这种使用,是特定于print功能的。它会自动插入一个空格。当需要空间时最好使用可读性,因为它避免了str调用。

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

于 2013-07-31T02:33:07.420 回答
2

阅读手册

所有非关键字参数都像 dos 一样转换为字符串str()并写入流中,用 . 分隔sep,后跟end.

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

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

print("Multiply:", a*b)
print("Multiply: " + str(a*b))
print("Multiply: ", a*b, sep="")
于 2013-07-31T02:35:55.363 回答