Paket Python: Bagaimana cara membuat dan mengimpornya?

Pada artikel ini, Anda akan belajar membagi basis kode Anda menjadi modul yang bersih dan efisien menggunakan paket Python. Selain itu, Anda akan belajar mengimpor dan menggunakan paket Anda sendiri atau pihak ketiga dalam program Python Anda.

Video: Paket Python: Atur Kode Anda

Apa itu paket?

Kami biasanya tidak menyimpan semua file kami di komputer kami di lokasi yang sama. Kami menggunakan hierarki direktori yang terorganisir dengan baik untuk akses yang lebih mudah.

File serupa disimpan di direktori yang sama, misalnya, kami dapat menyimpan semua lagu di direktori " musik ". Analog dengan ini, Python memiliki paket untuk direktori dan modul untuk file.

Saat program aplikasi kami tumbuh lebih besar ukurannya dengan banyak modul, kami menempatkan modul serupa dalam satu paket dan modul berbeda dalam paket berbeda. Ini membuat proyek (program) mudah dikelola dan jelas secara konseptual.

Demikian pula, karena direktori dapat berisi subdirektori dan file, paket Python dapat memiliki sub-paket dan modul.

Direktori harus berisi file bernama __init__.pyagar Python dapat menganggapnya sebagai sebuah paket. File ini dapat dibiarkan kosong tetapi kami biasanya menempatkan kode inisialisasi untuk paket itu di file ini.

Berikut ini contohnya. Misalkan kita sedang mengembangkan sebuah game. Satu organisasi paket dan modul yang mungkin dapat dilihat pada gambar di bawah.

Struktur Modul Paket dalam Pemrograman Python

Mengimpor modul dari sebuah paket

Kita dapat mengimpor modul dari paket menggunakan operator titik (.).

Misalnya jika kita ingin mengimpor startmodul pada contoh di atas, maka dapat dilakukan sebagai berikut:

 import Game.Level.start

Sekarang, jika modul ini berisi fungsi bernama select_difficulty(), kita harus menggunakan nama lengkap untuk mereferensikannya.

 Game.Level.start.select_difficulty(2)

Jika konstruksi ini tampak panjang, kita dapat mengimpor modul tanpa awalan paket sebagai berikut:

 from Game.Level import start

Sekarang kita dapat memanggil fungsinya hanya sebagai berikut:

 start.select_difficulty(2)

Cara lain untuk hanya mengimpor fungsi yang diperlukan (atau kelas atau variabel) dari modul di dalam paket adalah sebagai berikut:

 from Game.Level.start import select_difficulty

Sekarang kita bisa langsung memanggil fungsi ini.

 select_difficulty(2)

Meski lebih mudah, cara ini tidak disarankan. Menggunakan namespace lengkap menghindari kebingungan dan mencegah dua nama pengenal yang sama bertabrakan.

Saat mengimpor paket, Python mencari di daftar direktori yang ditentukan di sys.path, mirip dengan jalur pencarian modul.

Artikel yang menarik...