Python mengkompilasi file .py dan menyimpannya sebagai file .pyc sehingga dapat mereferensikannya dalam doa berikutnya. The .pyc berisi bytecode yang dikompilasi dari file sumber Python, yang merupakan kompilasi dari interpreter Python sumber. Kode ini kemudian dieksekusi oleh mesin virtual Python. Tidak ada salahnya menghapusnya (.pyc), tetapi mereka akan menghemat waktu kompilasi jika Anda melakukan banyak pemrosesan.
Python adalah bahasa yang ditafsirkan, sebagai lawan dari bahasa yang dikompilasi, meskipun perbedaannya bisa kabur karena adanya kompiler bytecode. Kompilasi biasanya berarti mengonversi kode mesin yang paling cepat dijalankan. Tetapi penerjemah mengambil teks yang bisa dibaca manusia dan menjalankannya. Mereka mungkin melakukan ini dengan tahap peralihan.
Sebagai contoh, Ketika Anda menjalankan file sumber myprog.py, interpreter python pertama kali melihat apakah myprog.pyc
ada (yang merupakan versi byte-kode yang dikompilasi myprog.py
), dan apakah itu sebagai terbaru atau lebih baru daripada myprog.py
. Jika demikian, penerjemah menjalankannya. Jika tidak ada, atau myprog.py
lebih baru dari itu (artinya Anda telah mengubah file sumber), interpreter pertama mengkompilasi myprog.py
ke myprog.pyc
.
Ada satu pengecualian untuk contoh di atas. Jika Anda memakai #! /usr/bin/env python
baris pertama myprog.py
, buat itu bisa dieksekusi, dan kemudian jalankan myprog.py
dengan sendirinya.