2014-02-21 44 views
2

我現在在學習Python,所以有很小的疑惑,有時甚至是愚蠢的。所以如果發現類似於其中之一的東西,請忽略!如何在python中使用嵌套的print()?

python中的print()打印到標準輸出上。所以基本上,如果我寫

print('Hello World')

我能看到的Hello World輸出。但是當我有多個print()嵌套在一起時會發生什麼?事情是這樣的..

print(print("Hello World"))

輸出是:

Hello World 
    None 

同樣,如果我有:

print(print(print()))

然後輸出爲:

//blank line 
    None 
    None 

我無法理解這裏發生了什麼,如果任何人都可以解釋,這將是一個很大的幫助。

謝謝!

回答

5

print()函數返回None(就像大多數爲其副作用調用的函數一樣)。外print()只是打印該返回值。

有沒有特別好的使用案例永遠嵌套print這樣的功能。

+0

@Wobble好的,但是print()在第一種情況「Hello World」中返回一個字符串,那麼它怎麼會在那之後再打印'None'呢? – pk10

+0

它不返回一個字符串。它將一個字符串打印到標準輸出。 – geoffspear

+0

它打印'None',因爲內部的print()'返回'None' –