Rumah > pembangunan bahagian belakang > Tutorial Python > Untuk Mengimport atau Tidak Mengimport di Atas: Adakah Mengimport Awal Lebih Cekap Daripada Mengimport Tertunda?

Untuk Mengimport atau Tidak Mengimport di Atas: Adakah Mengimport Awal Lebih Cekap Daripada Mengimport Tertunda?

Susan Sarandon
Lepaskan: 2024-12-08 06:35:13
asal
401 orang telah melayarinya

To Import or Not to Import at the Top: Is Early Importing More Efficient Than Deferred Importing?

Penyata Import: Atas atau Bawah?

PEP 8 menetapkan bahawa penyata import berada di bahagian atas modul, menyebabkan sesetengah pihak mempersoalkan kecekapan mengimport kelas yang tidak digunakan atau berfungsi sejak awal lagi. Perbandingan timbul:

class SomeClass(object):

    def not_often_called(self):
        from datetime import datetime
        self.datetime = datetime.now()
Salin selepas log masuk

berbanding

from datetime import datetime

class SomeClass(object):

    def not_often_called(self):
        self.datetime = datetime.now()
Salin selepas log masuk

Adakah import tertunda lebih cekap daripada import awal?

Walaupun pengimportan modul adalah pantas, ia memerlukan kos. Dengan meletakkan import pada permulaan modul, perbelanjaan remeh ini dibayar sekali. Walau bagaimanapun, mengehadkan import kepada dalam fungsi memanjangkan masa jalannya dengan setiap panggilan fungsi.

Oleh itu, untuk kecekapan optimum, pastikan import di hadapan. Hanya pertimbangkan import tertunda jika pemprofilan mendedahkan kesesakan prestasi.

Di luar kecekapan, justifikasi tambahan untuk import malas termasuk:

  • Sokongan perpustakaan pilihan: Elakkan pecah kod apabila perpustakaan pilihan ada tidak hadir.
  • Pengamatan pemalam: Import dalam fail permulaan pemalam membenarkan pemuatan modul tanpa penggunaan. Contoh wujud dalam pemalam Bazaar menggunakan mekanisme pemuatan malas bzrlib.

Atas ialah kandungan terperinci Untuk Mengimport atau Tidak Mengimport di Atas: Adakah Mengimport Awal Lebih Cekap Daripada Mengimport Tertunda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan