Coding for KidsCoding for Kids
Level KreatifTantanganPanduan Guru
Voting untuk fitur
Kursus Pengembangan Python Lanjutan
Bab
>
Tingkat

Modul Matematika
Introspeksi Kode

Tujuan

Periksa beberapa barang tua yang disimpan di loteng dengan menggunakan introspeksi kode untuk mengetahui apa mereka dan bagaimana cara penggunaannya.

Loteng memiliki kantor yang jarang digunakan dan terdapat beberapa peti tua yang berisi barang berharga yang telah lama terlupakan. Kecuali dinyatakan sebaliknya atau kecuali memo menyediakan informasi, terkadang sangat sulit untuk mengidentifikasi barang, atau konstanta yang dikumpulkan di lapangan. Tidak hanya itu, bisa jadi sulit untuk mengidentifikasi berbagai hal yang dapat dilakukan dengan objek tertentu atau apa propertinya. Untuk mengatasi hal itu, kita dapat menggunakan Introspeksi Kode.

Introspeksi Kode memungkinkan kita untuk memeriksa dan mengidentifikasi potongan kode tertentu serta menunjukkan beberapa sifatnya. Untuk ini kita akan menggunakan empat (4) fungsi introspeksi bawaan yang disediakan oleh kode dasar python: type(), id(), repr(), dir() dan help(). Fungsi-fungsi tersebut bekerja sebagai berikut:

  • type(): Fungsi ini memberi tahu tipe objek dari argumen yang Anda berikan. Misalnya, jika Anda memasukkan sebuah variabel sebagai argumen, fungsi ini akan mengidentifikasi objek tersebut sebagai variabel.
  • id(): Setiap objek yang pernah dibuat di python memiliki id unik yang mengidentifikasi objek tersebut dalam kode. Dengan memasukkan suatu objek sebagai argumen fungsi ini, maka akan mengembalikan id unik objek tersebut.
  • repr(): Mengonversi nilai non-string menjadi string, berguna untuk mengubah data menjadi format yang dapat dibaca.
  • dir(): Menampilkan semua atribut yang dimiliki objek, berguna untuk mengetahui apa saja yang bisa dilakukan dengan tipe objek tertentu.
  • help(): Menampilkan semua informasi tentang objek, fungsi, kelas, dll. yang tersedia dalam registri python.

Selain itu, kita memiliki fungsi async baru yaitu fungsi display(). Fungsi ini mirip dengan fungsi read() tetapi memungkinkan Anda untuk menampilkan data dinamis, mirip seperti fungsi introspeksi kode yang menghasilkan data dinamis. Sintaksnya adalah sebagai berikut: await player.dysplay( -data-). Semua fungsi ini akan berguna untuk menganalisis data, yang berguna saat kita menggunakan Metode dan mulai mengimpor fungsi baru serta untuk menganalisis kode apa pun yang ingin kita identifikasi propertinya.

Kita akan menggunakan fungsi-fungsi ini untuk mengidentifikasi dan mengkatalogkan barang-barang yang disimpan di loteng. Untuk memulai, berjalanlah ke tanda X gelap yang ada di atas karpet berwarna, dimulai dengan yang ada di atas karpet merah. Terdapat tiga (3) konstanta di area ini: red_container, green_container, dan blue_container, yang masing-masing mewakili wadah di setiap peti yang sesuai dengan karpet berwarna tersebut.

Untuk setiap tanda X, hadapilah peti dan gunakan fungsi open() untuk membuka peti, gunakan fungsi collect() dengan konstanta dari karpet berwarna yang sesuai untuk mengambil barang dari peti. Gunakan fungsi introspeksi type() untuk mengidentifikasi tipe konstanta yang ada di peti; output yang dihasilkan berupa data mentah dan untuk itu kita menggunakan fungsi repr() untuk mengubahnya menjadi string. Gunakan speak() untuk menampilkan string hasil penggabungan fungsi dan konstanta, misalnya: player.speak(repr(type(red_container))). Lanjutkan dengan fungsi speak() dengan konstanta untuk mengidentifikasi isinya secara langsung, misalnya: player.speak(red_container).

Setelah ketiga (3) konstanta tersebut dikumpulkan, diintrospeksi, dan diidentifikasi, berjalanlah ke tanda X terang di depan meja. Buatlah tiga variabel bernama: item_id_red, item_id_green, item_id_blue, yang akan digunakan untuk menyimpan nomor id dari masing-masing konstanta yang telah Anda kumpulkan. Gunakan fungsi introspeksi id() untuk mendapatkan nomor identifikasi unik dari konstanta dengan memasukkannya sebagai argumen. Cocokkan nama variabel dengan nama konstanta menggunakan format berikut sebagai contoh: item_id_red = id(red_container), lakukan hal ini untuk semua tiga (3) variabel dan konstanta.

Setelah ketiga (3) variabel tersebut telah terisi, simpan semuanya dalam sebuah list bernama item_list dan pada tanda X terang gunakan fungsi display() untuk memastikan informasi tersebut tercatat pada memo di atas meja, seperti ini: await player.display(item_list).

Setelah list tersebut dicatat, berjalanlah ke tanda X gelap di atas karpet ungu dan hadapilah meja. Di sini kita akan menggunakan fungsi dir() untuk mengidentifikasi atribut apa saja yang dimiliki list tersebut, namun outputnya berupa data mentah yang bisa jadi sulit untuk ditampilkan. Untuk itu, kita menggunakan fungsi repr() untuk mengubah data tersebut menjadi string yang dapat dibaca. Buat sebuah variabel bernama item_attributes dan simpan string hasilnya, seperti ini: item_attributes = repr(dir(item_list)). Terakhir, gunakan fungsi display() untuk memastikan informasi tersebut tercatat pada memo di atas meja.

Berjalanlah ke tanda X gelap di atas karpet putih untuk melakukan hal yang sama seperti yang telah Anda lakukan dengan dir(), namun kali ini dengan menggunakan help(), yang akan menjabarkan semua dokumentasi penggunaan pada objek tersebut. Buat sebuah variabel bernama item_help dan simpan string hasilnya, seperti ini: item_help = repr(help(item_list)). Terakhir, gunakan fungsi read() untuk memastikan informasi tersebut juga tercatat pada memo di atas meja demi menyelesaikan level.

Buku Kode