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!