Pagi ini
rasanya akan sempurna bila disuguhi Kopi hitam panas dan artikel yang
menjadi lanjutan dari “Cara Mengetahui VersiPython Yang Digunakan Linux”, yang disinggung banyak ayat
tentang Interpreter dan sempat juga di janjikan penulis ke sobat baca
saat itu. Biar makin tebal pengetahuan kamu akan Python, dibaca ya
dan jangan malas membaca :-)
Mungkin
kamu sudah sering melihat film-film yang ada kaitannya dengan Network
atau Hacker, seperti
di filmya Mister Robot. Menceritakan
seorang ABG yang bekerja sebagai teknisi di sebuah perusahaan besar
AllSafe dengan
ketertarikannya menjadi seorang peretas atau Hacker.
Di film itu, banyak adegan yang menunjukan bagaiamana peretasan
dilakukan, salah satunya ketika Eliot menjalankan ektensi .py nya
untuk melakukan Enkripsi terhadap
server dari perusahaan
E Corp. Dari adegan
itu, mungkin kamu juga sempat tertarik dan terobsesi ingin menjadi
seorang Hacker seperti
Eliot :-D
Dengan
sedikit bercerita, mugnkin akan membuat kamu lebih paham ya guys,
dalam belajar bahasa Python tentunya :-)
Jadi,
kaitannya dengan cerita diatas kita melihat bagian “ektensi .py
nya”. Ektensi .py yang dimaksud adalah sebuah file yang di dalamnya
berisikan kode-kode program yang di tulis, yang kemudian akan
dieksekusi oleh Python Interpreter, sama seperti PHP, Perl, dan Ruby.
Meskipun demikian, pada saat
kode program dieksekusi, secara implisit Python sebenarnya melakukan
kompilasi
terhadap kode tersebut terlebih dahulu. Nah, hasil kompilasi
ini berupa byte code (file
.pyc). Coba tengok kembali ke
film Mr Robot ketika Eliot
hendak menjalankan program
.py, diasana tidak sengaja kamera menampilkan “lupanamafile.pyc”
yang tersimpan pada direktori aktifnya, yang merupakan hasil
kompilasi yang dimaskud. File .pyc
atau byte code inilah
yang akan dieksekusi oleh Python Virtual Machine (PVM), bukan
kode programnya. PVM itu sendiri adalah mesin runtime untuk
Python, yang merupakan dari sistem Python, bukan software
terpisah. Secara teknis, sistem
Python secara keseluruhan disebut sebagai “Python Iterpreter”.
Sepertinya
sudah terjawab janji saya pada
postingan sebelumnya terkait
PVM. :-)
Dalam
Python, byte code disimpan
di dalam memori komputer (RAM) dan akan langsung dibuang ketika
eksekusi program berakhir. Hal inilah yang menyebabkan proses
eksekusi program di dalam Python dapat berjalan dengan cepat. Coba
deh, liat gambar dibawah ini biar lebih jelas.
Gambar ini diambil dari: learning-python.com
Perlu
kamu ketahui juga, kompilasi diatas tidak dilakukan secara otomatis
oleh sistem Python. Artinya, bahwa ada modul khusus untuk membuat
kompilasi .py ke .pyc. Eliot juga melakukannya sendiri kok. Hehehe
Modul yang dimaksud adalah py_compile. Semoga bisa dilanjutkan ya
pembahasan terkait py_compile, dan mungkin dengan sedikit tutorial,
Insya allah :-)
Jika
kamu hendak mendistribusikan program, maka sebaiknya kamu
mendistribusikannya dalam bentuk byte code (file
.pyc). Pertanyaannya, kenapa
harus .pyc, bukanya dengan
.py sudah cukup ?
Dengan
byte code, selain
eksekusi berjalan lebih cepat (karena tidak perlu dikompilasi ulang),
kode program kamu tentunya akan lebih aman dan tidak dapat dibaca
oleh orang lain.
Coba
lihat file .pyc saya ketika dibaca menggunakan perintah more.
Gambar ini diambil dari: www.linuxshare13.com
Bagaimana ? sudah mengerti kan pembahasan Python Adalah Interpreter.
Jangan sungkan ya untuk berbagi. Silahkan klik share jika Artikel ini bermanfaat :-)
Jangan sungkan ya untuk berbagi. Silahkan klik share jika Artikel ini bermanfaat :-)
Referensi: Budi Raharjo Python Certified, Downey Allen B
Python Adalah Interpreter
4/
5
Oleh
Unknown