Rumah > pembangunan bahagian belakang > Tutorial Python > Import Teratas atau Malas dalam Python: Mana Yang Lebih Cekap?

Import Teratas atau Malas dalam Python: Mana Yang Lebih Cekap?

Barbara Streisand
Lepaskan: 2024-12-02 21:14:14
asal
434 orang telah melayarinya

Top or Lazy Imports in Python: Which Is More Efficient?

Import Penyata di Bahagian Atas atau Dalam Modul: Kebimbangan Kecekapan

PEP 8 mewajibkan penempatan penyata import pada permulaan fail, menimbulkan persoalan sama ada ia adalah lebih berkesan untuk mengimport modul hanya apabila diperlukan.

Prestasi Perbandingan

Pertimbangkan kod berikut:

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

Walaupun pengimportan modul adalah pantas, ia bukan serta-merta. Oleh itu:

  • Import penyata di bahagian atas: Kos kecil yang ditanggung sekali sahaja.
  • Import malas: Menyebabkan setiap fungsi memanggil ke mengambil masa yang lebih lama.

Kecekapan Pertimbangan

Utamakan penyata import pada permulaan fail untuk kecekapan jika prestasi menjadi kebimbangan. Hanya pertimbangkan import malas dalam fungsi jika pemprofilan mendedahkan keuntungan prestasi.

Sebab Sah untuk Import Malas

Walaupun pengimportan tertunda secara amnya tidak cekap, terdapat senario yang sah:

  • Perpustakaan pilihan: Elakkan mengimport perpustakaan tidak selalu tersedia.
  • __init__.py pemalam: Halang mengimport pemalam yang mungkin tidak digunakan.

Ringkasnya, letakkan import di bahagian atas modul untuk kecekapan melainkan terdapat sebab yang menarik untuk memuatkan malas, seperti perpustakaan pilihan atau pemalam tidak aktif.

Atas ialah kandungan terperinci Import Teratas atau Malas dalam Python: Mana Yang Lebih Cekap?. 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