というクラスとDoor
というクラスがありWindow
ます。という名前のクラスの子クラスFurniture
です。私のプログラムはExcelファイルを読み取り、それを2回ループします.1回目はドアに関するすべての読み取り/書き込み、2回目は窓に関するものです。簡略化すると、次のコードがあります。
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 ..
たとえば、(上記のように) objectfurniture
を印刷すると、それらの場所が取得され、メモリ内のオブジェクトの場所の一部は、2 つの異なるインスタンス幅の異なる属性であっても同じです。例えば:
<__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がこのように動作するのか、誰かが私に説明してもらえますか?