


Import Relatif dalam Python 3
Apabila cuba mengimport fungsi daripada fail lain dalam direktori yang sama, menggunakan sama ada daripada .mymodule import myfunction atau dari mymodule import myfunction boleh mengakibatkan kesilapan. Sebabnya terletak pada sama ada modul yang mengandungi fungsi yang diimport berada di dalam pakej atau tidak.
Menggunakan Import Relatif
Import relatif berfungsi apabila modul berada di dalam pakej. Untuk mencipta pakej, fail __init__.py mesti ada dalam direktori yang mengandungi modul. Walau bagaimanapun, adalah penting juga untuk memastikan modul boleh dijalankan sebagai skrip kadangkala.
Struktur Kod
Susun letak biasa untuk pakej yang mengandungi berbilang modul dan skrip utama adalah sebagai berikut:
- main.py
-
mypackage/
- __init__. py
- mymodule.py
- myothermodule.py
Dalam mymodule.py:
# Exported function def as_int(a): return int(a) # Test function for module def _test(): assert as_int('1') == 1 if __name__ == '__main__': _test()
Dalam myothermodule.py:
# Import exported function from the mymodule from .mymodule import as_int # Exported function def add(a, b): return as_int(a) + as_int(b) # Test function for module def _test(): assert add('1', '1') == 2 if __name__ == '__main__': _test()
Dalam main.py:
# Import exported function from myothermodule from mypackage.myothermodule import add def main(): print(add('1', '1')) if __name__ == '__main__': main()
Menjalankan Kod
Apabila menjalankan main.py atau mypackage/mymodule.py, kod tersebut dilaksanakan tanpa masalah. Walau bagaimanapun, percubaan untuk menjalankan mypackage/myothermodule.py mengakibatkan ralat yang berkaitan dengan import relatif yang digunakan (daripada .mymodule import as_int).
Pendekatan Alternatif
Terdapat dua pendekatan alternatif untuk menangani perkara ini :
- Gunakan Import Mutlak: Gantikan relatif import dengan import mutlak dengan menyatakan laluan modul penuh: dari mypackage.mymodule import as_int. Walau bagaimanapun, ini memerlukan direktori induk pakej ditambahkan pada PYTHONPATH.
- Gunakan Pilihan -m: Untuk mengelak daripada menggunakan import mutlak sambil memastikan modul berjalan dengan betul, gunakan - m pilihan dengan Python: python3 -m mypackage.myothermodule. Pendekatan ini memerlukan menjalankan arahan daripada direktori induk pakej.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Import Relatif dalam Pakej Python Apabila Menjalankan Modul sebagai Skrip?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Pythonusesahybridmodelofcompilationandinterpretation: 1) thepythoninterpretercompilessourcodcecodeintoplatform-independentbytecode.2) thepythonvirtualmachine (PVM) thenexecutesthisbytecode, BalantingeaseOfusoWithperformance.

Pythonisbothinterpretedandandcompiled.1) it'scompiledtobytecodeforporabilityAcrossplatforms.2) theBytecodeistheninterpreted, membolehkanfordynamictypingandrapiddevelopment, walaupunItmayBeslowerLowerWanLelyCiledlanguages.

ForloopsareidealwhenyonesshenumberofiterationsationseSinadvance, whilewhileloopsarebetterforsituationshipheryouneedtoloopuntilaconditionismet.forloopsaremoreeficientablyandable, yang sesuai, manakala whileloopsoffermorecontrolandareusefereficeficeficeficeficient,

Forloopsareusedwhenthenumberofiterationsisknowninadvance, whilewhileloopsareusedwhenTheiterationsdependonacondition.1) forloopsareidealforiteratingoversequencesLikeListsorArrays.2)

Pythonisnotpurelyinterinterpreted; itusesahybridapproachofbytecodecompilationandruntimeinterpretation.1) pythoncompilessourcecodeintobytecode, whoomeSthenexecutedbythepythonvirtualmachine (pvm)

ToConcatenatelistsinpythonwiththesameelements, gunakan: 1) operatortokokduplicates, 2) asettoremoveduplicates, OR3) listomprehensionfensionfensionfensionfensiontroloverduplicates, setiapmethodhasdifferentperformanceAdordlications.

Pythonisaninterpretedlanguage, menawarkanfuseofuseandflexibilitybutfacingperpormancelimitationsincriticalapplications.1) interpretlanguagesepythonexecuteline-by-line, membolehkanMmediateDebackandrapidprototyping.2)

Useforloopswhenthenumberofiterationsisknowninadvance,andwhileloopswheniterationsdependonacondition.1)Forloopsareidealforsequenceslikelistsorranges.2)Whileloopssuitscenarioswheretheloopcontinuesuntilaspecificconditionismet,usefulforuserinputsoralgorit


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft
