Baiklah, di video ini, saya akan mencoba menipu Anda.
Saya ingin Anda melihat ekspresi ini di mana saya memeriksa kesetaraan, bukan?
Aku berkata, hei, apakah benar sama dengan satu?
Apakah string kosong sama dengan satu karena ras sama dengan yang kosong.
Sama-sama baik, satu sama lain.
Sekarang, jeda video di sini dan coba tebak apa hasilnya nanti.
Siap, omong-omong, jika Anda mendapatkan seratus persen untuk ini, ya, bagus untuk Anda, karena jika ini adalah pertama
kalinya saya belajar Python, saya ingin mendapatkan ini.
Ayo pergi.
Hmm, apakah itu yang Anda harapkan?
Benar.
Dinilai sangat benar karena yang dievaluasi benar, string kosong sama dengan yang dievaluasi salah.
Itu masuk akal karena mereka pasti tidak sama satu sama lain.
Benar.
Array kosong tidak sama dengan satu.
Dan 10 sama dengan sepuluh koma nol.
Dan kemudian kedua sinar yang kosong, sama dengan benar.
Sekarang, alasan yang saya tunjukkan di sini adalah bahwa persamaan ganda memeriksa kesetaraan atau kesetaraan nilai.
Artinya, jika, misalnya, yang pertama benar sama dengan satu, ada dua jenis yang berbeda.
Satu bilangan bulat, satu Bolian, itu akan mengubahnya menjadi tipe yang sama.
Dalam hal ini, ini akan dikonversi seperti ini ke nilai boolean.
Dan jika Anda ingat, salah satunya adalah Kebenaran.
Jadi ini akan dievaluasi menjadi benar, itulah sebabnya kami menjadi benar.
Bagaimana dengan yang lain?
Nah, string kosong adalah falsey, sehingga bernilai false dan false tidak sama dengan benar, kan.
Karena kami sedang memeriksa kesetaraan di sini.
Jadi salah satunya akan dikonversi ke tipe lainnya.
Bagaimana dengan array kosong?
Sekali lagi, array kosong sebenarnya salah.
Jadi itu tidak akan sama dengan satu a 10 sama dengan pelampung sepuluh koma nol yang dikonversi menjadi bilangan bulat atau
pelampung dan mereka akan sama satu sama lain.
Dan itu adalah perilaku yang diharapkan.
Dan kemudian array kosong dengan baik, sama dengan array kosong jika saya menambahkan kekacauan.
Satu, dua, tiga, satu, dua, tiga.
Dan saya klik jalankan.
Saya mendapatkan sintaks yang tidak valid karena saya punya tahun ini.
Mari kita jalankan itu lagi.
saya mendapatkan benar.
Itu masuk akal.
Mari kita ubah ini menjadi satu dan lihat apa yang terjadi jika saya mengklik run.
Baiklah, masih salah.
Sekarang, ini menjadi sedikit rumit, Ray, seperti, hmm, haruskah ini dievaluasi menjadi benar, tapi tidak, kita mendapatkan
salah sehingga ini tidak dikonversi secara ketat versus apa yang kita miliki di sini.
Sekarang, jangan bingung dengan ini karena ini akan menjadi kode yang buruk jika Anda memeriksa sesuatu seperti ini.
Jelas, Anda harus memeriksa dua jenis, dua jenis yang sama bersama-sama.
Idealnya, ketika Anda menggunakan operator perbandingan atau operator logika seperti ini, Anda membandingkan dua jenis dan Anda
tidak membiarkan Python melakukan konversi jenis ini.
Dan semoga Python mengetahuinya untuk kita.
Tapi saya harap kualitas ganda masuk akal karena ada pemeriksaan lain yang bisa kita lakukan, yaitu is and
well adalah kata kunci dalam Python.
Apa yang terjadi jika kita mengubah semua tanda E ini menjadi.
Apakah menurut Anda akan ada perbedaan?
Mari kita lihat.
Jika saya klik, jalankan.
Saya mendapatkan palsu untuk semuanya.
Hmm.
Jadi apa bedanya di sini sama dengan cek untuk kesetaraan nilai, seperti satu, dua, tiga?
Nah, itu memiliki nilai yang sama dengan satu, dua, tiga dalam daftar sebenarnya memeriksa apakah lokasi
di memori tempat nilai ini disimpan adalah sama.
Mari kita lalui itu.
Jadi benar adalah bahwa satu tidak, benar tidak satu benar baik, hanya benar.
Benar?
Itu akan benar.
Bagaimana dengan.
Tali satu itu?
Tidak, maksud saya, agar satu menjadi string, itu harus menjadi satu, kan?
Karena satu string tidak hanya di satu tempat di memori, itu benar-benar hal yang sama.
Bagaimana dengan daftar ini?
Faktanya, mari kita lakukan apakah array array kosong itu atau daftar ini daftar?
Nah, jika kita menjalankan ini.
Saya masih mendapatkan palsu.
Hmm.
Dan ini sedikit rumit dan juga maju setiap kali saya membuat daftar, itu ditambahkan di memori di suatu tempat.
Jadi ini ada di lokasi, di memori, tapi setiap kali saya membuat daftar baru.
Itu dibuat di lokasi lain, jadi ini adalah dua daftar yang sama sekali berbeda yang tinggal di lokasi berbeda
dalam memori.
Jadi ini akan memeriksa, hei, apakah ini di ruang memori yang sama, rak buku yang sama dengan yang itu?
Tidak, bukan itu.
Tetapi mengapa ini bekerja untuk hal-hal seperti angka dan string?
Dan itu karena di balik kapnya, ini adalah jenis yang sangat sederhana, yang ada di memori, tetapi
di satu lokasi versus sesuatu seperti daftar, meskipun ini mungkin daftar yang sama dengan item yang
sama.
Karena ini adalah struktur data, setiap kali kami membuatnya, itu dibuat di lokasi baru sehingga meskipun
kami memiliki variabel AI yang berisi.
daftar ini.
Dan omong-omong, ini akan sama untuk semua struktur data kita seperti kamus, set, tupel, jika saya
melakukan B sama dengan ini dan saya mencentang A, apakah itu B?
Tidak, mereka dibuat di ruang memori yang berbeda, jadi ini di mana delapan titik berada di tempat yang berbeda dari
titik B, tetapi jika saya melakukan A sama dengan B.
Saya mendapatkan kebenaran karena pemeriksaan kualitas ganda ini.
Hanya nilai-nilai.
Sekarang, ini adalah topik yang agak sulit, jadi Anda mungkin harus menonton video ini beberapa kali, Anda
mungkin harus berlatih sendiri beberapa kali.
Tapi perlu diingat perbedaan antara is dan double equals.
E cenderung sedikit lebih ketat.
Anda sedang memeriksa hal yang tepat yang Anda cari versus kesetaraan, yang memeriksa nilainya.
Baiklah.
Itu gila.
Sampai jumpa di video selanjutnya.
Sampai jumpa.