2015-12-11 93 views
2

今天我用Python字典玩,我發現了一個很奇怪:爲什麼Python repl爲None打印不同的東西?

>>> print {}.get('non-existant-key') 

>>> a = {}.get('non-existant-key') 
>>> print a 
None 
>>> 

爲什麼在REPL印刷與第一印刷,並採取在變量存儲值的步驟之後,「無」的空白處a?它試圖打印的東西在兩種情況下都是一樣的,所以爲什麼會有差異?

+0

您正在使用哪個版本的Python?我試過2.7.8(因爲你使用的是'print'的Python2版本),第一條語句爲我打印出'None'。 –

+2

無法重現。 –

+0

當我執行'print {} .get('non-existant-key')時,在'3.4.3'版本中輸出與'print({}。get('non-existant-key'))' –

回答

1

好的,事實證明,這不是Python repl的行爲,但我始終使用(其餘優秀)bpython repl。當我測試這個時,我沒有意識到我正在使用bpython而不是香草python。

在常規pyton repl中,它全部按預期工作。我會用bpython提出一個bug。

相關問題