Vissza a bloghoz

Modulok írása Python 3-ban: Útmutató

Modulok írása Python 3-ban: Útmutató

Bevezetés

Python az egyik leggyakrabban használt programozási nyelv a világon. A modulok a Python-kód kritikus fontosságú részei. Egy modul egyszerűen egy .py kiterjesztésű fájl a Python 3 kontextusában. Ez azt jelenti, hogy bármely Python-fájlra hivatkozhat modulként.

Ezeket a modulokat az előre elkészített könyvtárból is beszerezheti. Megtekintheti a Python Standard Library oldalt, ha többet szeretne megtudni. Ezek a Python telepítésekor települnek a rendszerére. Más esetekben ezeket a modulokat a Python csomagkezelőjével, a pip segítségével telepítheti. De mi van akkor, ha egyedi modult szeretne létrehozni? Ha ez a helyzet, akkor örömmel fogja tudni, hogy saját modulokat is készíthet Pythonban.

Ebben a részletes útmutatóban ismertetjük azokat a lépéseket, amelyeket követnie kell a modulok írásához és importálásához Python 3-ban.

Előfeltételek

Mielőtt elkezdenénk, meg kell győződnie arról, hogy telepítve van a Python 3, és be van állítva egy programozási környezet. Követheti a Python 3 telepítéséről és a helyi programozási környezet Ubuntu 16.04-en történő beállításáról szóló útmutatónkat a telepítés befejezéséhez, ha még nem állna készen.

Hogyan írjunk modult?

Kezdjük egy modul megírásával. Egy modult pontosan úgy kell megírni, mint bármely más Python-fájlt. Egy tipikus modul függvények, osztályok és változók definícióit tartalmazza. Ezt követően a modult más Python-programokban is használhatja.

A megértés megkönnyítése érdekében vegyünk egy példát. Tegyük fel, hogy szeretnénk létrehozni egy hello.py. Ezt később egy másik fájlba is be fogjuk importálni. A folyamat első lépése egy függvény létrehozása. Ez a függvény a következőt fogja kiírni: Hello, World! így:

Ezen a ponton a python hello.py parancs futtatása nem ad eredményt. Ez azért van, mert még nem adtunk semmilyen utasítást a programnak. Ahhoz, hogy működjön, importálnunk kell a modult.

Hogyan importáljunk modult?

Ahhoz, hogy importálja a modulját és használhassa a függvényét, létre kell hoznia egy második fájlt ugyanabban a könyvtárban. Ezt az új fájlt így fogjuk nevezni: main_program.py. Azért kell mindkét fájlnak ugyanabban a könyvtárban lennie, mert meg kell mutatnunk a programnak, hol találja a modult. Ez minden olyan új, egyedi modulra vonatkozik, amely nem beépített:

A függvény meghívásához a pont jelölést használtuk a modulnévvel. Ennek egy másik módja a from...import módszer használata. Itt a függvényt így fogjuk hívni: world() úgy, hogy a modult így importáljuk: from hello import world. Végül futtathatja a parancsot:

A parancs a következő kimenetet fogja mutatni:

Változók hozzáadása egy modulhoz

A következőkben meglátjuk, hogyan adhatunk változókat a modulhoz úgy, hogy definíciókat helyezünk el benne:

Ezt követően a változót a print() függvényben fogja meghívni. A main_program.py fájlon belül fogjuk meghívni:

A program futtatása ezt a kimenetet fogja mutatni:

Osztály hozzáadása egy modulhoz

Végezetül meglátjuk, hogyan lehet osztályt definiálni a fájljában a modulhoz. Példánkat folytatva egy új, Octopus nevű osztályt fogunk létrehozni a hello.py fájlban. Hozzárendeljük a name és color attribútumokat is. Ezután hozzáadunk egy függvényt, hogy kiírhatóvá tegyük:

Ezután hozzá kell adnia az osztályt a main_program.py fájl végéhez közel:

Az osztályt a hello.Octopus() paranccsal hívhatja meg. Ez megmutatja az Octopus osztály függvényeit és attribútumait a fájl névterében. Így a jesse.tell_me_about_the_octopus() kódot írhatja az utolsó sorba a hello meghívása nélkül. Az osztály egy egyedi attribútumát is meghívhatja a hello használata nélkül. Például egyszerűen futtathatja a jesse.color kódot. Amikor futtatja a programot, a következő kimenet jelenik meg:

Kód megvalósítása modulokkal

Ahol modulokat használhat definíciók megadására, ott kód megvalósítására is használhatja őket. Tegyük fel, hogy meg akarjuk valósítani a world() függvényt. Teljesen újraírjuk a kezdeti hello.py fájlunkat:

A main_program.py fájlból az importálási utasításon kívül mindent törlünk, így a következőt hagyva meg:

A főprogramfájl futtatása ezt a kimenetet adja, mivel a program megvalósítja és végrehajtja a world() függvényt:

Hogyan érhetünk el egy modult egy másik könyvtárból?

Most, hogy már tudja, hogyan kell modulokat létrehozni és módosítani, tudnia kell, hogyan érheti el őket egy másik könyvtárból. Ez akkor hasznos, ha egy adott modult egy másik projektben kell használnia. Ennek két módja van, amelyeket alább ismertetünk.

  • Útvonalak hozzáfűzése

Az első módszer a modul útvonalának aktiválása a modult már használó programfájlok segítségével. Sajnos ez nem jelenti azt, hogy a modul az egész rendszerben elérhető lesz. Ezért ez csak ideiglenes megoldásnak tekinthető. Gyakran alkalmazzák a projekt fejlesztési fázisában.

A hozzáfűzési folyamatot a sys modul és más fontos, használni kívánt modulok importálásával kezdheti. Ezeket a főprogramfájlba fogjuk importálni. A sys modult a Python Standard Library-ben találja meg. Azért van rá szükség, mert ez tartalmazza a rendszerére jellemző alapvető paramétereket és függvényeket.

Vegyük ismét az előző példánkat. Tegyük fel, hogy a hello.py fájl az /usr/sammy/ útvonalon van, a main_program.py fájl pedig egy másik könyvtárban található. Először a hello modult fogjuk importálni a main_program.py fájlba a sys modul segítségével. Ezután hozzáfűzzük az /usr/sammy/ útvonalat a path-hoz:

Ha helyesen állította be az útvonalat, a main_program.py fájl könnyen, hibák nélkül fog futni. Ugyanazt a kimenetet fogja kapni, mint amikor mindkét fájl ugyanabban a könyvtárban volt.

  • Python elérési út

A másik lehetőség a Python elérési út (Python path) használata. Itt magát a modult adja hozzá egy olyan elérési úthoz, amelyet a Python ellenőriz a modulok és csomagok keresésekor. Ahogy azt valószínűleg kitalálhatja, ez a modult rendszerszinten elérhetővé teszi, így ez egy életképes, állandó megoldás.

Ehhez meg kell tudnia, hol keresi a Python a modulokat. Futtatnia kell a Python értelmezőt a programozási környezetből, ami így néz ki:

A következő lépés a sys modul importálása:

Ezután írassa ki a rendszer elérési útját:

Most egy rendszer elérési utat fog látni kimenetként. Legalább egy lesz. Azonban egy programozási környezetben több is lehet. A listában keresse meg az Ön által használt környezetet. Tartsa szem előtt, hogy a modult a fő rendszer Python elérési útjához is hozzá szeretné adni. Ez így fog kinézni:

Végül mozgassa a hello.py fájlt ebbe a könyvtárba, és importálja a modult a következőképpen:

A kísérlet akkor sikeres, ha a program hiba nélkül futtatja a fájlt. E folyamat eredményeként a modult a rendszer bármely könyvtárából elérheti.

Összegzés

Ennek az útmutatónak az volt a célja, hogy segítsen megismerkedni a Python modulok írásával. Ez nagyon hasonlít ahhoz, ahogyan bármelyik Python .py fájlt írná. Először arról beszéltünk, hogy mi is valójában egy Python modul és a kapcsolódó funkciók. Ezután felfedeztük, hogyan alkalmazhatjuk ezeket a definíciókat más Python programfájlokban. Végül tisztáztuk a modulok elérhetőségének részleteit. Most már tudja, hogyan kell modulokat írni Python 3-ban, valamint hogyan érheti el őket.

A Python programozási nyelvvel kapcsolatos ismeretei további bővítéséhez tekintse meg blogunkat további forrásokért:

Kellemes kódolást!

author

Pranay Kapgate

Szerző · CloudSigma

Preslav Dobrev a CloudSigma kreatív tervezője, aki hagyományos és innovatív marketingcsatornák segítségével következetes vállalati identitás kialakítására összpontosít. Kiemelkedően képes ötvözni a művészi látásmódot a stratégiai marketinggel, hogy hatásos márkatörténeteket hozzon létre.

Hozzászólások

Még nincsenek hozzászólások. Legyen Ön az első.