Kutipan dari manual studi python untuk catatan.
Klien dapat menjalankan pernyataan impor atau dari. Jika modul tidak dimuat, pernyataan ini akan mencari, mengkompilasi, dan menjalankan program file modul. Perbedaan utamanya adalah bahwa impor membaca seluruh modul, sehingga harus didefinisikan sebelum nama variabelnya dapat dibaca; dari akan mendapatkan (atau menyalin) nama variabel khusus modul.
impor membuat nama variabel mengacu pada seluruh objek modul, sehingga properti modul harus diperoleh dengan nama modul (misalnya, module1.printer). dan dari akan menyalin nama variabel ke cakupan lain, sehingga dapat menggunakan nama variabel yang disalin langsung di skrip tanpa melalui modul (misalnya, printer).
dari memiliki potensi untuk merusak namespace. Jika Anda mengimpor variabel menggunakan dari, dan variabel tersebut kebetulan diduplikasi dengan variabel yang ada dalam cakupan, variabel akan ditimpa secara diam-diam. Ini tidak menjadi masalah saat menggunakan pernyataan impor, karena isinya harus diperoleh dengan nama modul. Namun, saat menggunakan from, ini bukan masalah besar dalam praktiknya, selama Anda memahami dan mengantisipasi hal ini terjadi, terutama jika Anda dengan jelas mencantumkan nama variabel impor (misalnya, dari modul impor x, y, z).
Di sisi lain, ketika digunakan dengan panggilan muat ulang, pernyataan from memiliki masalah serius, karena nama variabel yang diimpor dapat merujuk ke versi objek sebelumnya. Selain itu, formulir dari modul impor * memang dapat merusak namespace dan membuat nama variabel sulit dipahami, terutama saat mengimpor lebih dari satu file.
Saran yang lebih pragmatis adalah bahwa modul sederhana umumnya cenderung menggunakan impor daripada dari. Sebagian besar pernyataan from digunakan untuk secara eksplisit menghitung variabel yang diinginkan, dan terbatas pada penggunaan formulir dari * hanya sekali per file. Dengan cara ini, nama variabel yang tidak ditentukan dapat dianggap ada dalam modul yang direferensikan dari *. Anda benar-benar harus menggunakan import ketika Anda harus menggunakan variabel nama variabel yang sama yang ditentukan dalam dua modul yang berbeda, dalam hal ini Anda tidak dapat menggunakan dari.
Saya banyak bicara, saya tidak tahu harus berkata apa, mari kita bicarakan secara singkat.
- impor Modul # Perkenalkan modul
- dari Modul impor Lainnya # Memperkenalkan kelas, fungsi, atau variabel dalam modul
- dari Modul impor * # Perkenalkan semua anggota 'publik' dalam modul
Dalam istilah awam:
mengimpor kelas #把整个一班的学生引入了进来
dari sekelompok impor Xiao Wang #只把一般的小王引入了进来
Sebagai contoh:
Paket waktu adalah contohnya, dan dua metode penulisan berikut adalah sama, sebagai berikut:
|