2014-10-02 71 views
-4

我越來越困惑與此函數的輸出:使用的函數的兩個return語句(Python 2.7版)

def doPrint(): 
    print "Hello", 
    return "World" 
    print "Goodbye", 
    return "World" 

print doPrint() 

輸出爲「Hello World」的。那麼,有人能解釋爲什麼它沒有打印出「再見世界」嗎?第一return語句之後

+3

請參閱[什麼是返回](http://stackoverflow.com/questions/21696310/what-does-return-mean-in-python) – isedev 2014-10-02 20:36:40

+1

你需要看到這個python教程 – matsjoyce 2014-10-02 20:40:28

回答

1

該功能只打印出「你好」。

然後它返回,它的返回值是「世界」。返回意味着函數完成,並且解釋器在函數被調用之前的任何地方繼續,所以在返回之後出現的任何內容都是不相關的。

你稱之爲print doPrint(),它調用函數並打印返回值是什麼(我們知道它是「World」。)。

所以最終結果是「Hello World」。被打印。

1

一切都無法訪問:

def doPrint(): 
    print "Hello", 
    return "World" <- function ends here 
    print "Goodbye", <- code is unreachable 
    return "World" <- code is unreachable 

如果你想兩個輸出使用一個return末:

def doPrint(): 
    print "Hello", 
    print "World" 
    print "Goodbye", 
    return "World" 

In [13]: print doPrint() 
Hello World 
Goodbye World