Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah PEP 404 Mengubah Penyata Import Python?

Bagaimanakah PEP 404 Mengubah Penyata Import Python?

Barbara Streisand
Lepaskan: 2024-12-06 11:36:18
asal
697 orang telah melayarinya

How Did PEP 404 Change Python's Import Statements?

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

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