我有一個名爲Door
的類和一個名爲Window
的類。這是一個名爲Furniture
的班的子班。我的程序讀取excel文件,循環2次,第一次讀/寫關於門的所有內容,第二次關於窗口。簡化的,我有以下代碼:指向同一位置的python類實例
for gathering_inf in ('door', 'window'):
for row in file:
if gathering_inf == 'door' and currently reading door line:
furniture = Door(width, height, description)
if gatherig_inf == 'window' and currently reading window line:
furniture = Window(width, height, description)
# Now do something with the furniture object ..
這種情況發生的怪異覺得,如果我爲例(如上圖所示),打印對象furniture
,我得到他們的位置和,一些對象的內存位置是一樣的,儘管它們是兩個不同的實例寬度不同的屬性。例如:
<__main__.Door object at 0x03BFE810>
<__main__.Door object at 0x03BFE890>
<__main__.Door object at 0x03BFE810>
<__main__.Door object at 0x03BFE890>
<__main__.Door object at 0x03BFE8B0>
<__main__.Door object at 0x03BFE8D0>
<__main__.Door object at 0x03BFE8B0>
<__main__.Window object at 0x03BFE8D0>
<__main__.Window object at 0x03BFE8B0>
<__main__.Window object at 0x03BFE890>
<__main__.Window object at 0x03BFE8B0>
<__main__.Window object at 0x03BFE890>
<__main__.Window object at 0x03BFE8B0>
<__main__.Window object at 0x03BFE890>
<__main__.Window object at 0x03BFE8B0>
<__main__.Window object at 0x03BFE890>
有人可以向我解釋爲什麼python的行爲是這樣嗎?
是你的第二個,如果子句中一個錯字,你檢查,對一個變量gather_ing? – opensourcegeek
是的,這是一個錯字。我正在編輯我的帖子。 – geekkid