Rumah >pembangunan bahagian belakang >Tutorial Python >Apakah Perubahan Utama pada Pernyataan Import Python 3 Berkenaan Import Relatif dan Bintang?

Apakah Perubahan Utama pada Pernyataan Import Python 3 Berkenaan Import Relatif dan Bintang?

Susan Sarandon
Susan Sarandonasal
2024-11-28 22:26:18548semak imbas

What are the Key Changes to Python 3's Import Statements Regarding Relative and Star Imports?

Perubahan dalam Pernyataan Import dalam Python 3: Memahami Import Relatif dan Bintang

Dalam Python 3, perubahan ketara telah dibuat pada pernyataan import kepada meningkatkan kejelasan dan mengelakkan kemungkinan kekaburan. Artikel ini menyelidiki perubahan ini dan menerangkan implikasinya terhadap pengaturcara.

Import Relatif

Import relatif membolehkan anda mengimport modul berbanding dengan lokasi modul semasa. Dalam Python 2, import relatif dibenarkan secara tersirat dalam pakej. Walau bagaimanapun, dalam Python 3, ciri ini telah ditamatkan. Import mutlak dan import relatif eksplisit kini menjadi pilihan yang disokong.

Import mutlak menentukan laluan penuh modul, seperti:

import mypackage.mymodule

Import relatif eksplisit menggunakan . dan .. sintaks untuk menentukan laluan relatif, seperti:

from .mymodule import MyModule

Laluan ini menunjukkan bahawa mymodule berada dalam direktori yang sama dengan modul semasa.

Star Imports

Import bintang, yang mengimport semua nama daripada modul, sebelum ini dibenarkan pada peringkat modul dan dalam fungsi dalam Python 2. Walau bagaimanapun, dalam Python 3, import bintang hanya dibenarkan dalam kod tahap modul.

Sebagai contoh, dalam Python 2, anda boleh mengimport keseluruhan modul matematik dalam fungsi:

def sin_degrees(x):
    from math import *
    return sin(degrees(x))

Dalam Python 3, ini tidak lagi sah. Sebaliknya, anda boleh sama ada mengimport fungsi khusus yang anda perlukan:

def sin_degrees(x):
    from math import sin, degrees
    return sin(degrees(x))

Atau, anda boleh mengimport keseluruhan modul pada tahap modul:

from math import *

def sin_degrees(x):
    return sin(degrees(x))

Perubahan ini bertujuan untuk menggalakkan kejelasan, mengurangkan kekaburan dan menguatkuasakan amalan terbaik dalam pengurusan modul dan pakej dalam Python 3 dan seterusnya.

Atas ialah kandungan terperinci Apakah Perubahan Utama pada Pernyataan Import Python 3 Berkenaan Import Relatif dan Bintang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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