Python se ističe kao jedan od najomiljenijih programskih jezika u današnje vreme.
I to sa dobrim razlogom! Njegova svestranost omogućava vam da kreirate raznovrsne projekte, od jednostavnih skripti za održavanje sistema do sofisticiranih aplikacija za mašinsko učenje. Postoji mnogo interesantnih stvari koje možete realizovati pomoću Pythona, a učenje istih će vam sigurno biti zabavno i korisno.
Uvod
Python je veoma popularan jezik među programerima. Njegova jednostavnost i lakoća upotrebe čine ga idealnim za pisanje skripti za automatizaciju zadataka i kreiranje raznih alata.
Neki od najčešćih načina upotrebe Pythona uključuju:
- Izradu botova za automatizaciju zadataka na internetu
- „Grebanje“ (scraping) web stranica radi prikupljanja podataka
- Mašinsko učenje, vizualizaciju podataka i njihovu analizu
- Web razvoj pomoću frameworka kao što su Django i Flask
- Razvoj igara uz pomoć Pygame
- Razvoj mobilnih aplikacija sa framework-ovima poput Kivy
U ovom tekstu ću se fokusirati na različite oblasti primene Pythona, pružajući primere i demonstrirajući neke od zabavnih stvari koje možete da kreirate uz pomoć ovog jezika. Ako još uvek niste upoznati sa Pythonom, preporučujem da razmislite o učenju!
Krenimo!
Za razvoj veb aplikacija
Python nudi izvrsnu podršku za razvoj veb aplikacija zahvaljujući svojim raznovrsnim framework-ovima kao što su Django, Flask, i drugi. Može se koristiti za kreiranje aplikacija na serverskoj strani i lako se integriše sa bilo kojim front-end rešenjem. Tipično, programeri koriste JavaScript za front-end, dok Python preuzima ulogu serverske podrške. Treba napomenuti da se Python ne izvršava direktno u web pregledačima.
Django se ističe kao jedan od najpopularnijih web framework-ova u Python ekosistemu. Ovi framework-ovi obezbeđuju definisanu strukturu i podršku za interakciju sa bazama podataka, uz minimalan napor za podešavanje. Ako tražite nešto minimalno i jednostavno za početak, preporučujem Flask!
Pored navedenih, Python nudi veliki broj biblioteka za web razvoj. Neke od najpopularnijih su:
Evo nekoliko resursa koji vam mogu pomoći da započnete sa web razvojem u Pythonu:
Primer – Pristup sistemu datoteka računara sa mobilnog telefona
Možete pristupiti sistemu datoteka vašeg računara pokretanjem jednostavnog file servera. Jednostavno uđite u željeni direktorijum kojem želite pristupiti i pokrenite sledeću komandu:
# Za verzije Pythona >= 3.X python3 -m http.server # Za verzije Pythona >= 2.X i < 3.X python -m SimpleHTTPServer # Podrazumevani port: 8000
Ovo će pokrenuti file server kojem se može pristupiti unutar iste mreže. Za pristup datotekama sa vašeg mobilnog telefona, jednostavno se povežite na istu mrežu (Wi-Fi ili putem hotspot-a sa laptopa). Sada u web pregledaču na vašem telefonu unesite:
<vaša-ip-adresa>:port
Vašu IP adresu možete proveriti pokretanjem komande – ifconfig. Obratite pažnju na vaš lokalni IP (treba da počinje sa 192.168…).
Pretpostavimo da je vaša IP adresa 192.168.43.155 i da koristite podrazumevani port. U tom slučaju, u web pregledaču na mobilnom telefonu treba da otvorite:
192.168.43.155:8000. Trebalo bi da vidite sadržaj vašeg trenutnog direktorijuma 🙂
Automatizacija i skriptovanje
Ako ste inženjer, verovatno ste skloni da budete „lenji“ i želite da automatizujete što više zadataka, zar ne?
Bez brige, Python je tu da vam pomogne. Možete automatizovati mnoge stvari sa samo nekoliko linija koda. Od zakazivanja cron poslova i podsetnika do preuzimanja omiljenih YouTube video snimaka, sve se to može uraditi uz pomoć Pythona.
Neki korisni skriptovi i paketi za početak su:
Primer – Konvertovanje CSV datoteke u JSON format
Možete konvertovati CSV datoteku u JSON format sa samo jednom komandom u Pythonu!
Probajte odmah:
python -c "import csv,json;print json.dumps(list(csv.reader(open('ime_vase_datoteke.csv'))))"
Zamenite „ime_vase_datoteke.csv“ sa imenom vaše datoteke i dobićete JSON izlaz!
Jednostavno, zar ne?
Izrada igara
Python nudi podršku za razvoj igara. Njegova Pygame biblioteka je veoma korisna za kreiranje raznovrsnih igara. Podržava kreiranje umetničkih, muzičkih, audio, video i multimedijalnih projekata. Možete čak praviti igre za različite platforme koristeći Kivy, koji radi na Windows, Mac, Linux, Android i iOS operativnim sistemima.
Resursi za učenje
Primer – Igra vešala u terminalu
Evo jednostavnog Python programa koji vam omogućava da igrate igru vešala u terminalu. Kod se može dodatno skratiti, što vam prepuštam kao vežbu!
# vesala.py # Uključivanje modula za vreme import time import random turns = 10 print "Zdravo, hajde da igramo vešala! Imaćete " + str(turns) + " pokušaja!" print "" # Pauza time.sleep(0.5) # Lista reči od kojih se bira wordList = ["geekflare", "odlicno", "python", "magija"] word = random.choice(wordList) guesses="" # Petlja dok ima preostalih pokušaja while turns > 0: wrong = 0 for char in word: if char in guesses: print char, else: print "_", wrong += 1 print("n") if wrong == 0: print "Pobedili ste :)" break print guess="" if len(guess) < 1: guess = raw_input("Pogodite slovo ili unesite celu reč: ")[0] guesses += guess if guess not in word: turns -= 1 print "Pogrešno" print "Preostalo vam je još", + turns, ' pokušaja!' if turns == 0: print "Izgubili ste :("
Izlaz bi izgledao otprilike ovako:
Web Scraping
Svakodnevno se srećete sa velikom količinom podataka na različitim lokacijama na internetu. Zamislite koliko bi bilo korisno da možete lako pristupiti tim podacima; to je upravo ono što omogućava web scraping, a Python taj proces čini još lakšim sa svojom podrškom i bibliotekama. Podaci na webu su uglavnom nestrukturirani, a Python nudi jednostavan način da se ti podaci analiziraju, koriste, i primene u daljim analizama.
Neke od popularnih biblioteka za web scraping su:
Dozvolite mi da vam pokažem primer kako možete preuzeti vrednosti valuta sa web stranice – x-rates.com
Primer – Preuzimanje vrednosti valute u odnosu na USD
Hajde da iskoristimo web scraping u Pythonu za preuzimanje vrednosti valuta:
import requests from bs4 import BeautifulSoup URL = "https://www.x-rates.com/table/?from=USD&amount=1" r = requests.get(URL) soup = BeautifulSoup(r.content, 'html.parser') ratelist = soup.findAll("table", {"class": "ratesTable"})[0].findAll("tbody") for tableVal in ratelist: trList = tableVal.findAll('tr') for trVal in trList[:6]: print(trVal.text)
Ovo će vam vratiti informaciju koliko 1 USD vredi u drugim valutama.
Data Science i mašinsko učenje
Data Science (DS) i Mašinsko Učenje (ML) su najpopularnije teme današnjice. Ove tehnologije se smatraju budućnošću računarske nauke.
Python je veoma pogodan za manipulaciju podacima, njihovu analizu i implementaciju kompleksnih algoritama. Parsiranje podataka i vizualizacija su obično jednostavne funkcije ili nekoliko linija koda uz pomoć Python biblioteka kao što su NumPy, SciPy, scikit-learn, itd.
Python se koristi u aplikacijama koje zahtevaju obradu velike količine podataka i u aplikacijama za mašinsko učenje uz pomoć mnogih popularnih biblioteka kao što su:
Postoji mnogo alata za duboko učenje koji podržavaju Python. Neke popularne biblioteke i framework-ovi su:
Još jedan od razloga zašto se Python često koristi je činjenica da se čak i kompleksni modeli mašinskog učenja mogu implementirati sa 20-40 linija koda. Pogledajte ovaj tutorijal da vidite koliko jednostavno se može izvršiti vizualizacija podataka u Pythonu.
Zaključak
Ovaj tekst je obradio različite domene u kojima se Python može koristiti. Ovde su prikazani samo neki od jednostavnih primera u svrhu demonstracije, ali postoji mnogo više sjajnih aplikacija i alata koje možete kreirati uz pomoć Pythona. Nadam se da ste naučili nešto novo!
Nastavite sa istraživanjem i učenjem!