わかりました｡
このビデオでは､ あなたをだますことに挑戦しています｡
これらの式で､ 等質性をチェックしているところを見てほしい｡
そうですね｡
俺が言ってるのは､ おい､ トゥルーはフォー・ワンに等しいのかってことだ｡
空文字列イコール1が空文字列であるイコールの消去を行うか｡
まあお互いにね｡
ここでビデオを一時停止して､ この結果がどうなるかを推測してみてください｡
準備完了｡
ちなみに､ これで100%になったら
まあ､ よかったですね､ これがPythonを初めて学ぶ人だったら､ こんなの出ないですから｡
さあ､ 行こう｡
うーん｡
だから期待したのか？
本当です｡
Evaluated so true は､ want evaluated to true に等しい｡
空の文字列は､ false に評価される文字列と同じである｡
確かにイコールではないので､ 納得です｡
そうだろ？
空の配列は1にはなりません｡
そして､ 10は10に等しい｡ 0.
そして､ 空いたレースは両方｡
真に等しい｡
さて､ ここで紹介するのは､ ダブルイコールは､ 値が等しいかどうかをチェックするものだからです｡
つまり､ 例えば､ 最初の1つの真が1に等しい場合です｡
2種類あるんですよ｡
ひとつは整数､ ひとつは地金｡
同じ型に変換してくれます｡
この場合､ このようにブーリアン値に変換される｡
そして､ 思い出してみると､ 1つは真実です｡
だから､ これはtrueと評価され､ trueが得られるわけです｡
もう1つはどうですか？
まあ､ 空の文字列はfalselyですから､ falseと評価されます｡
そして､ falseはtrueとイコールではありません｡
そうですね｡
なぜなら､ ここでは平等性を確認しているからです｡
つまり､ どちらかがもう一方のタイプに変換されるわけです｡
空の配列の場合はどうでしょうか？
ここでも､ 空の配列は実際には偽りである｡
だから､ それは1にはならない｡
10は浮動小数点数10に相当します｡ 0.
それが整数や浮動小数点に変換され､ 互いに等しくなるのです｡
そして､ それは期待される行動です｡
そして､ 空の配列は､ まあ､ 空の配列に等しい｡
この配列に1､ 2､ 3､ 1､ 2､ 3と追加して実行をクリックすると
ここにこれがあるので､ 無効な構文が表示されるんです｡
もう一度実行してみましょう｡
私は真を受ける｡
なるほどね｡
これを1つに変えて､ 「実行」をクリックするとどうなるか見てみましょう｡
わかりました｡
まだ虚偽｡
さて､ これは少し厄介なことになりますね｡
ようなものです｡
うーん｡
これは真に評価されるべきものだったのか？
しかし､ いや､ 私たちは偽物を手に入れます｡
だから､ このままでは型変換されないのです｡
さて､ このようなことをチェックするのであれば､ これは悪いコードになるので､ 混乱しないでください｡
まあ､ 明らかに2種類､ 同じ種類を2つ一緒にチェックすべきなんですけどね｡
理想的には､ このように比較演算子や論理演算子を使うときは､ 2つの型を比較して､ Pythonにこの型変換をさせないようにすることです｡
そして､ Pythonが私たちのためにそれを見つけ出してくれることを期待しています｡
しかし､ 私はダブル品質が意味をなさないことを願っています私たちが行うことができます別のチェックがあるので､ であり､
よくはキーワードとpythonである｡
これらの等号をすべてisに変えるとどうなるか｡
違いがあると思いますか？
見てみよう｡
実行」をクリックすると
何でもかんでも嘘になっちゃうんです｡
ふむ｡
では､ ここで何が違うのか？
Equals は､ 値が等しいかどうかをチェックする｡
例えば？
1､ 2､ 3
それは､ 1､ 2､ 3と同じ値です｡
リストでは実際にチェックが入ります｡
この値が格納されているメモリ上の場所が同じであれば
うーん｡
それを見て行きましょう｡
そうなんです｡
その一音一音は真実なのか､ 真実ではないのか､ よくある唯一の真実なのか､ それが真実になるレート｡
どうなんでしょう｡
ストリングス1
あれか？
いいえ｡
つまり､ 1が文字列になるためには､ それが1である必要がありますよね？
なぜなら､ 1つの文字列がメモリ上の1カ所にしかないわけではないからです｡
文字通り､ 全く同じものです｡
このリストはどうでしょうか？
実際のところ､ 配列､ 空の配列はどうですか？
あれか､ このリストはリストなのか｡
まあ､ これを実行すれば｡
やはり虚偽が出る｡
ふむ｡
そして､ これは少しトリッキーで､ また高度なことです｡
リストを作成するたびに､ どこかのメモリに追加される｡
つまり､ これはメモリ上の場所にあるわけです｡
しかし､ 新しいリストを作成するたびに
別の場所で作成されます｡
つまり､ この2つのリストは､ 記憶の中の異なる場所に存在する全く別のリストなのです｡
つまり､ これは同じメモリスペース､ 同じ本棚にあるのか､ ということをチェックするわけです｡
いいえ､ そうではありません｡
しかし､ なぜ数値や文字列のようなものには効果があるのでしょうか？
というのも､ これらは非常にシンプルな型であり､ メモリ上にありますが､ リストのようなものに対して､
同じ項目を持つ同じリストであっても､ 1つの場所にあるのです｡
なぜなら､ これはデータ構造だからです｡
作成するたびに新しい場所に作成されるため､ たとえ変数Aに内容があっても
このリスト
ところで､ これは辞書､ 集合､ タプルなど､ すべてのデータ構造について同じことが言えるでしょう｡
Bイコールこれをやって､ Aを確認したら､ Bですか？
いや､ そうではない｡
別のメモリースペースに作成されるのです｡
つまり､ このaが指す場所とbが指す場所は違う場所なのです｡
しかし､ もし私がAイコールになるとしたら｡
この二重の等式チェックがあるからこそ､ 私は真に受けるのです｡
谷間だけ｡
さて､ これは少し難しいテーマなので､ このビデオを何度か見てください｡
自分で何度か練習する必要があるかもしれませんね｡
ただ､ ISとダブルイコールの違いは､ 少し厳しくなる傾向がありますので､ ご注意ください｡
値をチェックする等式に対して､ まさに求めているものをチェックしているのです｡
わかりました｡
ドキッとしましたね｡
次の動画でお会いしましょう｡
バイバイ｡