我有一个名为的类Door
和一个名为Window
. 它是一个名为 的类的子类Furniture
。我的程序读取 excel 文件,循环 2 次,第一次读取/写入有关门的所有内容,第二次读取/写入有关 windows 的所有内容。简化,我有以下代码:
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 会这样吗?