Python

[python] あなたは本当に python(cpython)を理解しているのか

以下のコードの実行結果に「当たり前でしょう」と思う方にはすみません。:bow:
スキップしてください。

class WTF:
  pass

WTF() == WTF()
# False
WTF() is WTF() 
# False

id(WTF()) == id(WTF())
# True

どうして」と思う方は、下記のデバッグコード入りのソースを見て頂ければわかるようになると思います。

class WTF(object):
  def __init__(self): print("I ")
  def __del__(self): print("D ")

WTF() is WTF()
# I I D D

id(WTF()) == id(WTF())
# I D I D    

理由の詳細な説明は こちら をご参照ください。

参考

https://github.com/satwikkansal/wtfpython#-deep-down-were-all-the-same-

コメントを残す