こんにちは、ソフトウェアについてほのぼのと記載します。


現在、UdemyのPython3の講座を受講しています。


今回は、"is"について学んだのですが、


C言語から来ている私からするとポインタで説明してくれた方がわかりやすかったです。


"is"はNoneかどうか判定するときによく使うようです。


ここでいう"None"はC言語でいうNullということのようです。


# 値同士の比較

print(1 == True)

結果: True


# オブジェクト同士の比較

print(1 is True)

結果: False


比較しているTrueはおそらく、Pythonのライブラリの中で値が1で定義されているのでしょう。


"is"はオブジェクト同士の比較なので、

メモリアドレスとしては、例えば、1は0x1000番地、Trueは0x2000番地にそれぞれ

割り当たっていて、

"is"を用いると、0x1000番地と0x2000番地の比較ということになると、


番地が異なるので、Falseとなるのだと思います。


仮に同じ番地ならTrueになるのでしょうね。


NEC Direct

 

 

 



コウジ・ハンマーのmy Pick辿ってね