Python Puzzler 12: ABC

Ping-Lun Liao
2 min readMar 4, 2019

--

底下的Java程式碼會有什麼結果?

使用JDK11.0.2的結果為 ABC easy as [C@5c8da962 。這是因為 numbers 是 ,而字元陣列會呼叫Object的toString(),但我們沒有將toString() method 給 Overwrite,於是會得到一組Hash code的數值。

那我們來看看在Python裡,會有什麼結果?

上述的程式碼會得到下面的錯誤訊息:

這是因為在 Python 裡,{ ‘1’, ‘2’, ‘3’ } 會是集合(set)的語法。而且因為 letters 是str,所以 + 會被當成字串合併來執行。

Originally published at yunlinsong.blogspot.com on March 4, 2019.

--

--

No responses yet