![見出し画像](https://assets.st-note.com/production/uploads/images/84620928/rectangle_large_type_2_edc407b955570d99900f54c22f4e639e.png?width=1200)
== と is の違い【Python🐍】
こんにちは!
パソコンインストラクター歴12年目の
チサです。(*´∀`)
今日は今更ながら…なのですが
Pythonでの
== と is の違いについて
わかったので書きます!
結論から言うと…
== は
「同じ値を持っているか」
を調べる。
is は
「同一のidを持っているか?」
を調べる。
だったんですね💦
!(◎_◎;)
どっちも
同じかどうか⁉️
True◟( •ω• )◞False
を調べているものの
何が同じか??って部分が違った!
じゃあ早速検証してみます!
こんなコードを書いてみました👇
![](https://assets.st-note.com/img/1660375036211-sHpmTxVMiY.png)
oyatuというリストに
”チョコ”と”ポテチ” の値が入っている
oyatu_2というリストにも
”チョコ”と”ポテチ” の値が入っている
この場合
oyatu == oyatu_2 は
True?False??どっち?
==は
値が同じか⁉️どうかを調べるので
True が正解!
では…
oyatu is oyatu_2 は
True?False??どっち?
isはIDが同じか⁉️
調べるから。。。
たしか!!
リストは
ミュータブル(後から変更できる)オブジェクトなので
同じ値が入っていても
IDは別々なので
Falseになるはず!!
(ファイナルアンサー✨😊)
一応
IDも調べてみました👇
![](https://assets.st-note.com/img/1660375416801-cGFhe5Mt3q.png)
結果はコチラ👇
![](https://assets.st-note.com/img/1660375473397-NmP5futJnB.png)
Falseになってます!
イミュータブルなオブジェクトの場合は
値が同じとき、idも一緒なので
==
も
is
もTrueになる!
ちょっとわかってくると
おもしろいですね!
ただし!
==とか
+とか
そういう演算子が
どういう働きをするか⁉️
っていうのは
いつも同じ意味ではなくて。。
演算子の左側のオブジェクトの型によって
変わるらしい。。
(゜o゜;
今度から
printで結果を出す前に
どういう答えが出るのか?
予想してみるのも面白そうです!
ではでは
またあした!
(´꒳`)/
【Amazonで販売中のKindle📕】
➊パソコンに関する📕 2冊
➋Kindle出版に関する📕 2冊
➌節約に関する📕 1冊
➍読書に関する📕 1冊
➎海外の方向けの📕 3冊
気になる本があれば
試し読みだけでも♪
(´▽`)