Natrag na blog

Pisanje modula u Pythonu 3: Vodič

Pisanje modula u Pythonu 3: Vodič

Uvod

Python je jedan od najčešće korištenih programskih jezika u svijetu. Moduli su ključni dio Python koda. Modul je jednostavno .py datoteka u kontekstu Python 3. To znači da se na bilo koju Python datoteku možete referirati kao na modul.

Ove module možete dobiti putem unaprijed pripremljene biblioteke. Možete pogledati Python standardnu biblioteku kako biste saznali više. Oni se instaliraju na vaš sustav kada instalirate Python. U drugim situacijama, ove module možete instalirati pomoću Python upravitelja paketima pip. Ali što ako želite stvoriti prilagođeni modul? Ako je to slučaj, bit će vam drago znati da možete izraditi vlastite module u Pythonu.

U ovom detaljnom vodiču, opisat ćemo korake koje trebate slijediti kako biste napisali i uvezli module u Pythonu 3.

Preduvjeti

Prije nego što počnemo, morat ćete provjeriti imate li instaliran Python 3 i postavljeno programsko okruženje. Možete pratiti naš vodič o instaliranju Pythona 3 i postavljanju lokalnog programskog okruženja na Ubuntu 16.04 kako biste dovršili instalaciju u slučaju da je nemate spremnu.

Kako napisati modul?

Počnimo s pisanjem modula. Modul biste pisali baš kao što biste sastavljali bilo koju drugu Python datoteku. Tipičan modul sastoji se od definicija funkcija, klasa i varijabli. Nakon toga, modul možete koristiti za primjenu u drugim Python programima.

Kako bismo vam pomogli razumjeti, razmotrimo primjer. Recimo da želimo napraviti datoteku pod nazivom hello.py. Kasnije ćemo ovo uvesti i u drugu datoteku. Prvi korak u procesu je izrada funkcije. Ova funkcija će služiti za ispis Hello, World! na ovaj način:

U ovom trenutku, pokretanje python hello.py naredbe neće vam dati nikakav rezultat. To je zato što još nismo dali nikakve upute programu. Da bi proradio, moramo uvesti modul.

Kako uvesti modul?

Kako biste uvezli svoj modul da biste ga učinili funkcijom, trebate napraviti drugu datoteku u istom direktoriju. Ovu novu datoteku nazvat ćemo main_program.py. Razlog zašto obje datoteke moraju biti u istom direktoriju je taj što moramo uputiti program gdje da pronađe modul. Ovo je primjenjivo na bilo koji novi, prilagođeni modul koji nije ugrađen:

Upotrijebili smo točkastu notaciju za naziv modula kako bismo pozvali funkciju. Drugi način da to učinite je korištenje metode from...import . Ovdje ćemo pozvati funkciju kao world() uvozom modula kao from hello import world. Na kraju, možete pokrenuti naredbu:

Naredba će vam prikazati sljedeći izlaz:

Dodavanje varijabli u modul

Zatim ćemo vidjeti kako dodati varijable u modul stavljanjem definicija u modul:

Nakon toga, pozvat ćete varijablu u funkciji print() . Pozvat ćemo je unutar datoteke main_program.py datoteke:

Pokretanje programa prikazat će ovaj izlaz:

Dodavanje klase u modul

Na kraju, vidjet ćemo kako možete definirati klasu u svojoj datoteci za modul. Nastavljajući naš primjer, napravit ćemo novu klasu pod nazivom Octopus u datoteci hello.py. Također ćemo joj dodijeliti atribute name i color. Zatim ćemo dodati funkciju kako bismo je učinili ispisivom:

Zatim morate dodati klasu blizu kraja main_program.py datoteke:

Klasu možete pozvati pomoću naredbe hello.Octopus(). Ona će vam prikazati funkcije i atribute klase Octopus u prostoru imena datoteke. Kao takvu, možete napisati jesse.tell_me_about_the_octopus() u zadnjem retku bez pozivanja hello. Također je moguće pozvati pojedinačni atribut klase bez korištenja hello. Na primjer, možete jednostavno pokrenuti jesse.color. Kada pokrenete program, prikazat će se sljedeći izlaz:

Implementacija koda s modulima

Tamo gdje možete koristiti module za određivanje definicija, možete ih koristiti i za implementaciju koda. Recimo da želimo implementirati funkciju world(). U potpunosti ćemo prepisati našu početnu hello.py datoteku:

Iz datoteke main_program.py obrisat ćemo sve osim izjave o uvozu, ostavljajući sljedeće:

Pokretanje glavne datoteke programa dat će vam ovaj izlaz budući da program implementira i izvršava funkciju world() :

Kako pristupiti modulu iz drugog direktorija?

Sada kada znate kako stvarati i mijenjati module, morate znati kako im pristupiti iz drugog direktorija. To je korisno kada trebate koristiti određeni modul na drugom projektu. Postoje dva načina za to koje ćemo objasniti u nastavku.

  • Dodavanje putanja

Prva metoda je aktiviranje putanje modula pomoću programskih datoteka koje već koriste modul. Nažalost, to ne znači da će modul biti dostupan u cijelom sustavu. Stoga se to smatra samo privremenim rješenjem. Često se koristi tijekom faze razvoja projekta.

Proces dodavanja možete započeti uvozom modula sys i drugih važnih modula koje trebate koristiti. Uvest ćemo ih u glavnu datoteku programa. Modul sys možete pronaći u Python standardnoj knjižnici. Potreban vam je jer sadrži osnovne parametre i funkcije specifične za vaš sustav.

Razmotrimo još jednom naš prethodni primjer. Recimo da se datoteka hello.py nalazi na putanji /usr/sammy/ a datoteka main_program.py nalazi se u drugom direktoriju. Prvo ćemo uvesti modul hello u datoteku main_program.py pomoću modula sys. Zatim ćemo dodati /usr/sammy/ na putanju:

Ako ispravno postavite putanju, datoteka main_program.py datoteka će se lako pokrenuti bez pogrešaka. Dobit ćete isti izlaz kao i kada su obje datoteke bile u istom direktoriju.

  • Python putanja

Druga opcija koju možete odabrati je Python putanja. Ovdje biste dodali sam modul na putanju koju Python provjerava za module i pakete. Kao što vjerojatno možete zaključiti, to čini modul dostupnim na razini cijelog sustava, što ga čini održivim trajnim rješenjem.

Da biste to učinili, morate saznati gdje Python traži module. Morat ćete pokrenuti Python interpreter iz programskog okruženja koje izgleda ovako:

Sljedeći korak je uvoz sys modula:

Zatim ispišite sistemsku putanju:

Sada ćete vidjeti sistemsku putanju kao svoj izlaz. Bit će barem jedna. Međutim, u programskom okruženju ih može biti nekoliko. Na popisu pronađite okruženje koje koristite. Imajte na umu da biste modul mogli htjeti dodati i na glavnu sistemsku Python putanju. To će izgledati ovako:

Na kraju, premjestite hello.py datoteku u ovaj direktorij i uvezite modul na sljedeći način:

Uspješni ste u svom pokušaju ako program pokrene datoteku bez stvaranja ikakvih pogrešaka. Kao rezultat ovog procesa, moći ćete pristupiti modulu iz bilo kojeg direktorija na vašem sustavu.

Zaključak

Cilj ovog vodiča bio je pomoći vam da se upoznate s pisanjem Python modula. Vrlo je slično tome kako biste pisali bilo koju Python .py datoteku. Prvo smo razgovarali o tome što su zapravo Python modul i povezane značajke. Zatim smo otkrili kako primijeniti ove definicije u drugim programskim datotekama u Pythonu. Na kraju smo shvatili detalje o dostupnosti modula. Sada znate kako pisati module u Pythonu 3 kao i kako im pristupiti.

Kako biste dodatno  nadogradili svoje znanje o programskom jeziku Python, pogledajte naš blog za više resursa:

Sretno programiranje!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.