Uvod
Većina nas je upoznata s Python kao programskim jezikom. Jedna od sjajnih stvari kod Pythona 3 je mnoštvo ugrađenih funkcija koje nudi. Pristup ovim funkcijama dobivate kada koristite Python 3 za pisanje različitih vrsta koda. Prije nego što počnemo, pogledajte naš vodič o instalaciji Pythona 3 i postavljanju lokalnog programskog okruženja na Ubuntu 16.04. Sada pogledajmo neke od korisnih Pythonovih funkcija:
print(): Ova funkcija omogućuje vam ispisivanje izraza.abs(): Pomoću ove funkcije možete dobiti apsolutnu vrijednost bilo kojeg broja.int(): Ova vam omogućuje pretvaranje bilo kojeg zadanog tipa podataka u cijeli broj.len(): Prikazuje vam duljinu bilo kojeg niza ili kolekcije.
Jesu li ugrađene funkcije dovoljne?
Nažalost, ove ugrađene funkcije same po sebi nisu dovoljne. Kada programirate u Pythonu 3, možda ćete otkriti da vam je potrebno više funkcionalnosti. Ne želite biti ograničeni samo zadanim značajkama programa. Tu na scenu stupaju moduli.
Što su moduli?
Moduli vam omogućuju izgradnju sofisticiranijih programa. Oni proširuju vaše mogućnosti i daju vam više prostora za rad. Moduli se obično sastoje od Pythonovih .py datoteka. Svaka od ovih datoteka sadrži dijelove Python koda. Bilo koju Python datoteku možete referencirati kao modul. Koristeći ove module, možete raditi razne stvari. Na primjer, možete definirati funkcije, klase, kao i varijable. Možete ih referencirati u drugim Pythonovim .py datotekama ili putem interpretatora naredbenog retka.
Recimo da imate Python datoteku pod nazivom hello.py. Naziv modula ove datoteke je hello. Ovaj modul možete jednostavno uvesti u druge Python datoteke. Također ga možete koristiti u Python interpretatoru naredbenog retka. Način na koji uvozite module u različite datoteke je korištenjem import naredbe. Kada uvezete modul, zapravo izvršavate kod unutar modula. Definicije u modulu činite upotrebljivima za trenutnu datoteku.
U ovom sveobuhvatnom vodiču, pokrit ćemo kako možete provjeriti i instalirati module u Pythonu 3. Također ćemo govoriti o tome kako uvesti svoje module i dodijeliti im aliase.
Kako provjeriti module?
Kao što smo već spomenuli, u Pythonu 3 postoje neki ugrađeni moduli. Oni se mogu pronaći u Python standardnoj knjižnici. Ova knjižnica sadrži nekoliko standardnih modula koji obavljaju neke osnovne sistemske funkcije i rješenja. To je zadana značajka koju dobivate kada instalirate Python.
Ako trebate provjeriti jesu li ovi moduli spremni za upotrebu, morate zadati naredbu. Morat ćete ući ili u lokalno programsko okruženje Pythona 3 ili u programsko okruženje temeljeno na poslužitelju. Zatim ćete morati pokrenuti Python interpretator u svom naredbenom retku. To će izgledati otprilike ovako:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">cloudsigma@ubuntu:~$ python</span> |
Sada možete pokrenuti import naredbu. To će potvrditi da se modul može pozvati kada vam zatreba. Recimo da pokrenete naredbu s math modulom:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import math</span> |
Modul math je ugrađeni modul u Pythonu. To znači da će interpretator izvršiti zadatak bez ikakve povratne informacije. Vratit će vas na unos naredbi. Možete odmah početi koristiti modul bez ikakvih drugih radnji.
Kako instalirati module?
S druge strane, recimo da želite pokrenuti modul koji nije instaliran. U našem primjeru razmotrit ćemo knjižnicu za 2D iscrtavanje matplotlib. Evo kako biste pokrenuli import naredbu s takvim modulom:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import matplotlib</span> |
Ako niste instalirali modul, dobit ćete ovakvu pogrešku:
|
1 2 3 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">Izlaz ImportError: No module named 'matplotlib'</span> |
Kako bi proradilo, prvo morate deaktivirati Python interpreter. To možete učiniti pomoću CTRL + D. Zatim morate instalirati matplotlib pomoću pip:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">cloudsigma@ubuntu:~$ pip install matplotlib</span> |
Sada ćete moći uspješno uvesti matplotlib u interpreter pomoću naredbe import matplotlib. Ovaj put neće vratiti pogrešku.
Kako uvesti module?
Istražimo kako uvesti module. Da biste koristili njegove funkcije, morate uvesti modul pomoću import izjave. Izjava se sastoji od ključne riječi import uparene s nazivom modula. Naziv modula obično se nalazi na vrhu koda u Python datoteci.
Na primjer, ako gledate Python datoteku pod nazivom my_rand_int.py, uvest ćete modul random za generiranje nasumičnih brojeva:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import random</span> |
Morat ćete se referirati na funkciju u točkastoj notaciji. To bi izgledalo otprilike ovako: [module].[function]. To u osnovi znači da možete koristiti modul kao zaseban prostor naziva u trenutnoj datoteci.
Nastavljajući s modulom, pogledajmo neke funkcije:
random.randint(): Ova funkcija će vratiti nasumični cijeli broj.random.randrange(): Ova funkcija će vratiti nasumični element iz zadanog raspona. Pogledajmo kako možete napravitiforpetlju. Pozvat ćemo jednu od funkcija za modulrandomu našem trenutnom programu koji jemy_rand_int.py:
|
1 2 3 4 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import random for i in range(10): print(random.randint(1, 25))</span> |
for petlju. Kao što vidite, petlja će raditi s 10 elemenata. Program će ispisati nasumični cijeli broj unutar uključenog raspona od 1 do 25. To znači da su cijeli brojevi 1 i 25 parametri za random.randint().
Sada kada pokrenete program s python my_rand_int.py, dobit ćete 10 nasumičnih cijelih brojeva u izlazu ovako:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">Izlaz 6 9 1 14 3 22 10 1 15 9</span> |
Budući da smo koristili modul random, svaki put ćete dobiti nove cijele brojeve. Međutim, oni neće ići iznad ili ispod 25. Ponekad također možete koristiti više import izjava istovremeno, ovako:
|
1 2 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import random import math</span> |
Koristit ćemo naš dodatni modul dodavanjem pi iz math u program. Također ćemo smanjiti broj nasumičnih cijelih brojeva:
|
1 2 3 4 5 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import math import random for i in range(5): print(random.randint(1, 25)) print(math.pi)</span> |
Sada će naš izlaz izgledati ovako:
|
1 2 3 4 5 6 7 8 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">Izlaz 18 10 7 13 10 3.141592653589793</span> |
Imamo pet nasumičnih cijelih brojeva i približnu vrijednost broja pi.
Kako koristiti from….import?
Osim import, još jedna naredba koju biste trebali znati je from … import. To je korisno kada ne želite referencirati svoje funkcije koristeći točkastu notaciju. Na taj način možete pozvati funkcije po nazivu i izravno odrediti reference. U ovom primjeru uvest ćemo randint() funkciju iz random modula:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">from random import randint</span> |
Izravno navodimo funkciju koju želimo pozvati. Čak i u našem programu, moramo samo navesti naziv funkcije bez točkaste notacije:
|
1 2 3 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">from random import randint for i in range(10): print(randint(1, 25))</span> |
Izlaz će biti isti kao onaj koji ste vidjeli gore. Razlika je u tome što sada možete u potpunosti izbjeći korištenje točkaste notacije.
Kako dodijeliti alias modulima?
Također biste trebali biti upoznati s ključnom riječi as . Koristeći ovu ključnu riječ, možete promijeniti nazive modula i njihovih funkcija. Možda ćete to morati učiniti ako imate postojeći ili novo uvezeni modul koji koristi isti naziv. Naredba za dodjelu aliasa modulima izgledat će ovako:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import [module] as [another_name]</span> |
U našem primjeru modificirat ćemo naziv math modula. Skratit ćemo ga i promijeniti u m. Program će izgledati ovako:
|
1 2 3 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import math as m print(m.pi) print(m.e)</span> |
Kao što vidite, umjesto da se referiramo na pi kao math.pi, zovemo ga m.pi.
Određeni moduli imaju službene aliase. To je zato što je vrlo uobičajeno da pojedinci koriste aliase umjesto njihovih stvarnih naziva. Uzmite u obzir matplotlib.pyplot modul. U službenoj dokumentaciji njegov alias je plt. Alias biste napravili ovako:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import matplotlib.pyplot as plt</span> |
Zaključak
Mogućnost dodavanja i uvoza modula uistinu proširuje svijet Python programiranja. Omogućuje vam da dosegnete izvan samih ugrađenih funkcija. Možete istovremeno koristiti zadane Python module kao i one koje instalirate pomoću pip. Svakako iskoristite ovu značajku kada stvarate nešto složenije ili sofisticiranije. To vam olakšava rad, omogućuje kreativnost i pomaže u izgradnji snažnih programa.
Na kraju, evo još nekoliko resursa s našeg bloga koji će vam pomoći da dodatno iskoristite Python:
Sretno programiranje!
Komentari
Još nema komentara. Budite prvi.