Beg
Pakej, sebenarnya, dalam beberapa contoh di atas, nama pakej yang berbeza telah dibuat Anda boleh memerhatikan butirannya dengan teliti. Seperti yang dinyatakan dalam pengenalan kepada modul pada permulaan, menggunakan modul boleh mengelakkan konflik antara nama fungsi dan nama pembolehubah. Fungsi dan pembolehubah dengan nama yang sama boleh wujud dalam modul yang berbeza Oleh itu, apabila kita menulis modul itu sendiri, kita tidak perlu menganggap bahawa nama itu akan bercanggah dengan modul lain. Tetapi berhati-hati agar tidak bercanggah dengan nama fungsi terbina dalam. Tetapi ada juga masalah di sini, bagaimana jika nama modul yang ditulis oleh orang yang berbeza adalah sama? Untuk mengelakkan konflik nama modul, Python telah memperkenalkan kaedah mengatur modul mengikut direktori, dipanggil pakej.
Sebagai contoh, dalam contoh awal, pakej diperkenalkan Dengan cara ini, walaupun terdapat nama modul yang sama, tidak akan ada pertindihan, kerana nama pakej yang berbeza sebenarnya bermakna laluan yang berbeza. Seperti yang ditunjukkan dalam rajah di bawah, selepas nama pakej diperkenalkan, lname.py sebenarnya menjadi com.Learn.module.nameattributes.lname
Mereka yang memerhati dengan teliti pada asasnya akan mendapati terdapat __init__ di bawah setiap direktori pakej. fail py, kenapa?
Oleh kerana fail ini diperlukan, jika tidak, Python akan menganggap direktori ini sebagai direktori biasa, bukan pakej. __init__.py boleh menjadi fail kosong, atau ia boleh mempunyai kod Python, kerana __init__.py itu sendiri ialah modul, dan nama modul yang sepadan ialah nama pakejnya.