Python 何时使用,vs str()

Python 何时使用,vs str(),python,python-3.x,Python,Python 3.x,我想知道使用+str(var1+var2)与,var1,var2是否有区别?如果是,我应该在什么时候使用一个或另一个?使用,是特定于打印功能的。它会自动插入一个空格。为了便于阅读,最好在需要空间时使用,因为它避免了str调用 但是,如果您需要一个字符串(例如输入一个变量),则需要使用+str(…),的这种用法特定于打印功能。它会自动插入一个空格。为了便于阅读,最好在需要空间时使用,因为它避免了str调用 但是,如果您需要字符串(例如输入变量),则需要使用+str(…): 所有非关键字参数都转换为

我想知道使用
+str(var1+var2)
,var1,var2
是否有区别?如果是,我应该在什么时候使用一个或另一个?

使用
是特定于
打印功能的。它会自动插入一个空格。为了便于阅读,最好在需要空间时使用,因为它避免了
str
调用


但是,如果您需要一个字符串(例如输入一个变量),则需要使用
+str(…)

的这种用法特定于
打印功能。它会自动插入一个空格。为了便于阅读,最好在需要空间时使用,因为它避免了
str
调用

但是,如果您需要字符串(例如输入变量),则需要使用
+str(…)

所有非关键字参数都转换为字符串,如
str()
does,并写入流中,以
sep
分隔,后跟
end

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

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

:

所有非关键字参数都转换为字符串,如
str()
does,并写入流中,以
sep
分隔,后跟
end

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

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


首先,逗号在两行之间加了一个空格(注意减法和除法行中的两个空格)。你可以用
print(“Subtract:,a-b)
print(“Subtract:,a-b,sep=”)
来解决这个问题,好的,谢谢。那么,我使用哪一个会有区别吗?首先,逗号在两者之间添加了另一个空格(注意减法和除法行中的两个空格)。你可以用
print(“Subtract:,a-b)
print(“Subtract:,a-b,sep=”)
来解决这个问题,好的,谢谢。那么我使用哪一个会有区别吗?它不会避免调用
str
,它只是隐藏了它。@dom0:从可读性的角度来看,它会避免调用。在考虑样式时,这就是最重要的。它并没有避免调用
str
,它只是将其隐藏起来。@dom0:它从可读性的角度避免了调用。在考虑风格时,这才是最重要的。
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)
print("Multiply:", a*b)
print("Multiply: " + str(a*b))
print("Multiply: ", a*b, sep="")