我練了中期,我碰到這個傳來:Python列表和平等
the_cake = [1,2,[3],4,5]
a_lie = the_cake[1:4]
the_cake = the_cake[1:4]
great = a_lie
delicious = the_cake
moist = great[:-1]
在Python解釋器運行此代碼後,爲什麼:
the_cake.append == a_lie.append
False
我的想法是他們是平等的方法,雖然不是「是」,但應該實現平等。
也許這個評估爲False,因爲實例化? 如果這是真的,那麼在比較時類屬性評估爲真? 這是一個列表對象的特例嗎?
後續: 根據這個: Is there a difference between `==` and `is` in Python?
「是,如果兩個變量指向同一個對象,==如果由變量引用的對象相等將返回True」
然後,List類的方法指向分離「append」方法的實例嗎?
所以如果我定義一個函數x(參數),每次我調用它,它會是相同的,因爲它是分配給不同變量的同一個對象,對吧?
那麼對於一些等價的變量 「參數」:
x(parameter) == x(parameter)
True
謝謝!
我敢打賭,這是因爲它們所連接的不同對象(以及它們的不同位置) – IanAuld 2014-10-27 00:07:25
Python比較函數內存地址。 [如何比較函數?](http://stackoverflow.com/questions/7942346/how-does-python-compare-functions) – 2014-10-27 00:09:27
@DaveL我很高興我可以有任何幫助。自從你接受它以後,你能否提高我的答案?謝謝。 – kolonel 2014-10-27 00:46:41