2014-10-02 76 views
1

使用Python腳本中的函數的數據的正確方法是什麼?使用函數:print vs return

使用print,如:

var1 = 'This is var1' 

def func1(): 
    print(var1) 

func1() 

或者 - 有return

var1 = 'This is var1' 

def func1(): 
    return var1 

print(func1()) 

均可以得到相同的結果:

$ ./func_var_print_return.py 
This is var1 
+1

打印不會從函數返回值!在這個意義上,你的問題和你的榜樣都沒有意義!嘗試'print func1()'vs'print func2()'。 (你的第二個func1就是func2!)但是,在你的例子中,真的並不重要,因爲var1是一個「全局」變量,並且不管涉及哪些函數都保持不變! – 2014-10-02 12:22:07

+0

@DonQuestion感謝您的重播。這只是一個簡單的例子,所以 - 當然,這裏沒有任何IRL。 – setevoy 2014-10-02 12:33:30

回答

2

你應該return一個值,當函數的目的是產生一個值。這是因爲函數可以使用其他函數。例如

def add(x,y): 
    return x + y 

def multiply(a,b): 
    product = 0 
    for i in range(b): 
     product = add(product, a) # Note I am calling the add function 
    return product 

測試

>>> multiply(5,4) 
20 

請注意,我用的是return值從addmultiply函數中。如果我只打印了add的值,我將無法做到這一點。

+0

完美的例子,謝謝。 – setevoy 2014-10-02 12:29:55

2

這要看情況而定。一般情況下,我會返回它,所以你可以打印,如果你想,但如果你編碼的變化,在某些時候,你可以執行其他操作的值

1

你應該總是嘗試返回值。

想想單元測試 - >如果它沒有被返回,你將如何驗證該值? 正如之前的「meto」所述,如果您的代碼發生更改,您仍然可以使用該值執行其他操作。