Selamat datang kembali, saya ingin kita memahami bagaimana hal-hal bekerja di bawah
tenda, jadi saya akan menunjukkan dua contoh penerapan kita sendiri untuk Loop dan kemudian menerapkan fungsi jangkauan kita sendiri.
Jadi yang pertama adalah for loop kita.
Jadi saya akan mengatakan khusus untuk loop.
Di bawah kap, semua yang dilakukannya adalah menerima iterable, dan kemudian kita akan mengatakan Iterator.
Akan sama dengan iterable sekarang bagi kita untuk memiliki iterable, kita memiliki apa yang kita sebut fungsi ED.
Itu menerima iterable yang baru saja kita lewati.
Sekarang, fungsi dalam ini akan memungkinkan kita untuk menggunakan fungsi berikutnya pada iterable ini, jadi tetaplah bersama saya.
Aku akan mengatakan sementara benar.
Aku ingin.
Mencoba.
Dan di blok tri ini akan mengatakan Iterator.
Dan kita bisa melakukan, katakanlah, semacam operasi di sini jika kita mau, atau kita bisa memanggil iterator berikutnya.
Anda tahu, mari kita cetak sesuatu di sini supaya kita tahu apa itu iterator.
Dan akhirnya, saya ingin kita berhenti ketika kita memiliki pengecualian iterasi berhenti.
Ingat yang kita lihat di mana tidak ada lagi item di iterable?
Dan di sini kita hanya bisa istirahat.
Dan pastikan itu.
Saya telah mengatur Colin dengan benar, jadi sekarang jika saya melakukan khusus untuk Loop dan memberikan daftar satu, dua, tiga dan saya
klik jalankan.
Coba lihat.
Saya mengulang beberapa objek yang dapat diubah menggunakan next.
Dan Anda melihat bahwa objek ini ada di ruang memori yang sama, meskipun kita terus-menerus mengulangnya
melalui satu, dua, tiga.
Jadi beginilah cara for loop bekerja di bawah kap ketika kita melakukannya untuk, katakanlah, ngom dan kemudian berikan
daftarnya.
Ini akan melalui segalanya, itu akan mengubahnya menjadi mengagumkan dan itu akan terus
berjalan dan terus memanggil iterator berikutnya berulang-ulang sampai kita menyelesaikan akhir baris dan kemudian
keluar dari lingkaran.
Dan bagaimana kita memeriksa nilai aktual dari iterator?
Nah, ingat, fungsi selanjutnya akan menampilkan item apa pun berikutnya.
Jadi jika saya mencetak di sini.
Dan saya klik jalankan.
Saya mendapatkan satu, dua, tiga.
Jadi saya hanya bisa melakukan dua kali jika saya ingin mengklik jalankan.
Dan begitulah, khusus untuk Loop, cukup kalikan daftar kami dengan dua.
Itu saja, itu saja untuk loop, benar-benar berfungsi, tetapi bagaimana dengan rentang?
Bisakah kita membuat fungsi jangkauan kita sendiri?
Kami benar-benar bisa, dan ini menyenangkan.
Mari kita buat sebuah kelas dan kelas ini, karena pada akhirnya, kita hanya akan membuat sebuah
objek.
Itu memiliki tindakan yang dapat kita lakukan, jadi saya akan mengatakan gen saya untuk generator saya, dan ini akan meniru apa yang dilakukan oleh
jangkauan kami.
Jadi saya akan memiliki kelas dan kelas ini akan memiliki fungsi INET, akan memiliki diri, pertama dan terakhir.
Jadi beginilah kisaran yang bisa kami katakan dimulai dengan ini dan diakhiri dengan ini.
Dan di sini, kita akan melakukan otodidak yang khas terlebih dahulu.
Sama dengan yang pertama.
Dan kemudian otodidak terakhir sama dengan terakhir, dan saya menggunakan kelas di sini karena, ingat, kami
hanya membuat tipe data kami sendiri, rentang khusus kami sendiri di Python.
Sekarang kami memiliki generator sederhana kami, dan idealnya kami ingin dapat mengatakan Jen sama dengan dan membuat
Jen saya memiliki, katakanlah, nol hingga 100, seperti yang kami lakukan dengan rentang.
Dan idealnya bisa kita katakan untuk AI dan Jen.
Dan cetak.
Saya karena, maksud saya, itulah cara kita dapat menggunakan rentang, bukan?
Jadi bagaimana saya bisa membuat ini bekerja?
Yah, kita bisa menggunakan metode Dundar kita, jadi ingat bagaimana kita memiliki it'a.
Untuk mendapatkan iterator dan menggunakan selanjutnya pada mereka?
Yah, kami memiliki Dundar yang ditentukan itu milik kami dan Itu memungkinkan kami untuk membuatnya.
Sebuah bola udara, jadi dalam kasus kami, saya akan mengatakan diri, dan di sini saya hanya akan mengembalikan kelas yang sebenarnya seperti itu.
Dan akhirnya, kami ingin dapat menjalankan fungsi berikutnya pada Djenne kami karena kami melihat seberapa jauh kerja Loop,
kami harus dapat menggunakan it'a dan kemudian Onda berikutnya.
Jadi sekali lagi, kita bisa menggunakan metode Dundar, yang biasa disebut.
Lanjut.
Dan ini dibangun ke dalam Python, jadi jika saya mendengar self.
Dan semua yang ingin kami lakukan di sini adalah memberi tahu dia bagaimana kami ingin selanjutnya bekerja, sementara saya akan mengatakan jika dan kami membutuhkan
semacam status atau data untuk melacak di mana kami berada.
Ingat bagaimana generator berfungsi.
Ingat di mana mereka berada.
Nah, kita bisa membuat objek kelas HB, jadi saya bisa mengatakan arus sama dengan nol.
Jadi di sinilah kami saat ini dalam iterasi kami dan katakan gen dot saya saat ini, selama itu kurang dari
self last, yang akan menjadi seratus di sini jika itu masalahnya.
Yah, saya ingin nomor yang sama dengan arus gen dot saya, saya ingin meningkatkan arus gen dot saya satu per satu karena kami ingin mengatakan,
hei, kami pindah ke lokasi berikutnya dan kemudian kembali.
Nomor.
Karena itulah cara kerja selanjutnya di bawah kap, benar, kami menambah lokasi kami saat ini dengan satu
dan kami hanya mengembalikan nomornya, yang baik, dalam kasus kami, itu akan menjadi nol.
Dan kami ingin terus, terus, terus.
Nah, sampai arus tidak lebih besar dari yang terakhir, dalam hal ini, kita hanya akan menaikkan
iterasi berhenti karena tidak ada lagi hal yang perlu diulang.
Mari kita lihat apakah ini berhasil.
Aku akan menjalankan ini.
Dan lihat itu, semuanya bekerja.
Saya dapat mengulang generator saya dan mencetak saya dari nol sampai sembilan puluh sembilan.
Sekali lagi, jika kita kembali ke contoh kita di sini.
Dan saya tahu ini agak sulit untuk dilihat pada awalnya.
Tapi yang saya lakukan hanyalah mengatakan, saya ingin fungsi TI memiliki opsi pertama dan terakhir.
Dan saya ingin dapat mengulangi objek yang akan saya buat ini, dan saya juga ingin
dapat menggunakan loop which for berikutnya, jika Anda ingat dari contoh sebelumnya, perlu.
Jadi saya akan mengatakan untuk item di Jen, ulangi saja, saya dapat
melihatnya karena ini sekarang merupakan iterator dan saya dapat menggunakan nilai berikutnya karena saya mengizinkan kita untuk mengulang dan
terus bertambah satu.
Sampai terus kita kembalikan, angka-angkanya, terus kembalikan angkanya sampai jenis kelamin saya saat
ini menjadi seratus 100 tidak kurang dari 100 ratus, yang terakhir self-titled.
Jadi itu akan meningkatkan iterasi berhenti.
Perulangan for secara otomatis menangkap kita sehingga tidak terkikis dan berhenti perulangan.
Begitulah cara kerja di bawah tenda dengan jangkauan.
Sekarang, Anda tidak perlu mengetahui hal ini, Anda tidak akan diminta dalam keseharian Anda untuk menerapkan ini, tetapi
saya ingin menunjukkan kepada Anda bahwa beginilah cara kerjanya.
Saya pikir itu penting.