我是刚开始的新手。我一直在玩功能,我无法理解为什么从下面的代码中得到以下输出:
为什么不打印返回值以及连续行中函数的文本,为什么输出看起来像循环函数两次?
def add(a, b):
print "ADDING %d + %d" % (a, b)
return a + b
def subtract(a, b):
print "SUBTRACTING %d - %d" % (a, b)
return a - b
def multiply(a, b):
print "MULTIPLYING %d * %d" % (a, b)
return a * b
plus = add(1,1)
minus = subtract(1,1)
times = multiply(1,1)
print plus
print minus
print times
我得到的输出是:
ADDING 1 + 1
SUBTRACTING 1 - 1
MULTIPLYING 1 * 1
2
0
1
答案 0 :(得分:4)
您的代码是以这种方式编写的。首先执行所有三个功能。然后打印所有三个函数的结果。
plus = add(1,1) # ADDING 1 + 1
minus = subtract(1,1) # SUBTRACTING 1 - 1
times = multiply(1,1) # MULTIPLYING 1 * 1
print plus # 2
print minus # 0
print times # 1
如果希望结果与计算交错,则将它们交错。
plus = add(1,1) # ADDING 1 + 1
print plus # 2
minus = subtract(1,1) # SUBTRACTING 1 - 1
print minus # 0
times = multiply(1,1) # MULTIPLYING 1 * 1
print times # 1