Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Import Pekeliling dalam Python Boleh Dielakkan atau Diuruskan?

Bagaimanakah Import Pekeliling dalam Python Boleh Dielakkan atau Diuruskan?

DDD
Lepaskan: 2024-12-20 02:32:09
asal
263 orang telah melayarinya

How Can Circular Imports in Python Be Avoided or Managed?

Isu dengan Import Bersama atau Pekeliling

Apabila dua modul dalam Python cuba mengimport antara satu sama lain, hasil yang dijangkakan akan menjadi import yang berjaya . Walau bagaimanapun, senario di mana berbilang modul terlibat dalam percubaan import kitaran menimbulkan komplikasi.

Terus lawan Dari Import

Jika import langsung dicuba (mis., import foo dalam bar. py dan bar import dalam foo.py), import biasanya akan berjaya dilaksanakan. Kedua-dua modul akan dimuatkan dan diwujudkan dengan rujukan antara satu sama lain pada masa pelaksanaan kod bermula.

Isu timbul apabila import "dari" digunakan (mis., dari foo import abc dan dari bar import xyz). Dalam kes ini, setiap modul memerlukan kehadiran yang lain telah diimport sebelum importnya sendiri. Ini mewujudkan jalan buntu.

Kerja Import Pekeliling dalam Python

Walaupun berpotensi untuk isu import pekeliling, terdapat keadaan di mana ia tidak menyebabkan masalah. Contoh daripada versi Python tertentu termasuk:

  • Python 2: Import langsung di bahagian atas modul
  • Python 3:

    • Import langsung atau relatif "daripada" import di bahagian atas modul
    • Import langsung atau bukan relatif "daripada" import dengan atribut yang diimport secara eksplisit di bahagian bawah modul

Pertimbangan Tambahan

Import bintang (cth., daripada foo import *) boleh memperkenalkan lebih lanjut komplikasi yang tidak diliputi dalam rujukan yang disediakan di bawah.

Atas ialah kandungan terperinci Bagaimanakah Import Pekeliling dalam Python Boleh Dielakkan atau Diuruskan?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan