簡體   English   中英

Python函數返回的奇怪打印輸出

[英]Strange print output for Python function return

我是剛開始的新手。 我一直在玩功能,但我不明白為什么我從下面的代碼中得到下面的輸出:

它為什么不連續打印行中的返回值和文本,為什么輸出看起來像遍歷函數兩次?

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

您的代碼是以這種方式編寫的。 首先,您執行所有三個功能。 然后,您將打印所有三個功能的結果。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM