Részlet a python tanulmányi kézikönyvből a nyilvántartáshoz.
Az ügyfél végrehajthatja az import- vagy from-utasítást. Ha a modul nincs betöltve, ezek az utasítások keresik, fordítják és futtatják a modulfájl programot. A fő különbség, hogy az import az egész modult olvassa, ezért meg kell határozni, mielőtt a változó nevét olvashatnánk; A From-tól kap (vagy lemásolja) modulspecifikus változóneveket.
Az import egy változó nevét az egész modulobjektumra mutat, így a modul tulajdonságait a modul nevéből kell megszerezni (pl. module1.printer). és a from-tól a változó nevét másolja egy másik scope-ra, így közvetlenül a scriptben használhatja a másolt változó nevét modul (pl. nyomtató) nélkül.
A From állítás potenciálisan megtöri a névtereket. Ha a from-val importálod a változókat, és ezek a változók a hatókör meglévő változóival duplikálódnak, a változók csendben felülíródnak. Ez nem probléma import-utasítások használatakor, mert a tartalom a modul neve alapján kell megszerezni. Azonban a from-t használva ez a gyakorlatban nem jelent nagy problémát, amíg érted és előre látod ezt, különösen, ha világosan felsorolod az import változók nevét (pl. import x, y, z modulból).
Másrészt, amikor a reload hívással használják, a from utasítás komoly problémát okoz, mert az importált változó neve utalhat az objektum korábbi verziójára. Továbbá a modul importból származó űrlap * valóban megtörheti a névteret, és megnehezítheti a változónevek megértését, különösen több fájl importálásakor.
Egy pragmatikusabb javaslat, hogy az egyszerű modulok általában importot használnak, nem pedig from-t. A legtöbb from utasítást kifejezetten a kívánt változók felsorolására használják, és a * űrlapot csak egyszer használják fájlonként. Így bármely meghatározatlan változónév létezhet a *-ból hivatkozott modulban. Valójában importot kell használni, ha ugyanazt a változó név változót kell használnod két különböző modulban, ebben az esetben nem lehet a from-t használni.
Sokat beszéltem, nem tudom, mit mondjak, beszéljünk róla röviden.
- import Modul # Bevezetés modulok
- a modul importálásából Egyéb # Osztályok, függvények vagy változók bevezetése a modulba
- a modul importjából * # Vezess be minden 'public' tagot a modulban
Egyszerű kifejezéssel:
Import egy #把整个一班的学生引入了进来 osztály
egy importcsoporttól, Xiao Wangtól#只把一般的小王引入了进来
Például:
Az időcsomag egy példa, és a következő két írásmód ugyanaz, a következők:
|