Impak PEP-404 pada Penyata Import Python
Proposal Peningkatan Python (PEP) 404 memperkenalkan perubahan ketara kepada pernyataan import dalam Python 3 , mempertingkatkan kejelasan dan organisasi modul import.
Apakah itu Import Relatif?
Import relatif merujuk kepada mengimport modul dari lokasi berbanding dengan modul atau pakej semasa. Dalam Python 2, import relatif tersirat dibenarkan, tetapi ini telah dihadkan dalam Python 3.
Perubahan kepada Import Relatif
PEP-404 menguatkuasakan import relatif eksplisit. Modul kini mesti diimport menggunakan terkemuka . (titik) atau .. (titik berganda) untuk menentukan laluan relatif kepada direktori modul semasa. Contohnya:
from .mymodule import MyFunction # Import from within the current package from ..otherpackage import OtherClass # Import from one level up in the directory structure
Sekatan terhadap Import Bintang
Import Bintang (mengimport semua submodul dan atribut daripada pakej) kini hanya dibenarkan pada kod peringkat modul. Sebelum ini, import bintang dibenarkan dalam definisi fungsi dan kelas, tetapi ini telah dilarang untuk mengelakkan pencemaran ruang nama dan tingkah laku yang tidak dijangka.
Contoh:
Kod Python 2:
# Function-level star import def my_function(): from mymodule import * do_something_with(MyAttribute) # Class-level star import class MyClass: def __init__(self): from otherpackage import * self.other_variable = OtherVariable
Python 3 kod:
# Module-level star import import mymodule do_something_with(mymodule.MyAttribute) # Explicit import within function def my_function(): from mymodule import MyAttribute do_something_with(MyAttribute) # Explicit import within class class MyClass: def __init__(self): from otherpackage import OtherVariable self.other_variable = OtherVariable
Dengan menguatkuasakan import eksplisit dan mengehadkan import bintang, Python 3 bertujuan untuk meningkatkan kejelasan import, mengurangkan perlanggaran ruang nama dan mempromosikan pangkalan kod yang lebih tersusun dan boleh diselenggara.
Atas ialah kandungan terperinci Bagaimanakah PEP 404 Mengubah Penyata Import Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!