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
Lepaskan: 2024-11-28 22:26:18
asal
474 orang telah melayarinya

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

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

from .mymodule import MyModule
Salin selepas log masuk

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

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

Atau, anda boleh mengimport keseluruhan modul pada tahap modul:

from math import *

def sin_degrees(x):
    return sin(degrees(x))
Salin selepas log masuk

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!

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