Osnove programiranja u Pythonu
Armando Slaviček, 2015.
Programski jezik Python je interpreter jednostavne sintakse koji podržava programiranje od strukturnoga do objektno orijentiranoga.
Autor programa je Guido van Rossum, a naziv je dobio po britanskoj komičarskoj skupini Monty Python.
Python je besplatni jezik (Open source licenca).
Službena web stranice programa je https://www.python.org/.
Preuzimanje programa: https://www.python.org/downloads/
Radno okruženje Pythona
Radno okruženje u Pythonu naziva se IDLE (engl. Integrated DeveLopment Environment) u kojem upisujemo programski kod. IDLE omogućava dva načina rada: interaktivni (interpretativni) i skriptni. U interaktivnom načinu rada upisane naredbe se odmah izvršavaju u okruženju koje nazivamo Python Shell. U skriptnom načinu rada omogućuje se korisniku pisanje, ispravljanje i pohranjivanje programa. Takav program se može izvršavati onoliko puta koliko želimo. Prozor za rad u skriptnome načinu rada pokrećemo tako da u interaktivnom prozoru iz izbornika File odaberemo New Window. Programe u skriptnome načinu rada pokrećemo naredbmo Run Module u izborniku Run ili pritiskom na funkcijsku tipku F5.
Autor programa je Guido van Rossum, a naziv je dobio po britanskoj komičarskoj skupini Monty Python.
Python je besplatni jezik (Open source licenca).
Službena web stranice programa je https://www.python.org/.
Preuzimanje programa: https://www.python.org/downloads/
Radno okruženje Pythona
Radno okruženje u Pythonu naziva se IDLE (engl. Integrated DeveLopment Environment) u kojem upisujemo programski kod. IDLE omogućava dva načina rada: interaktivni (interpretativni) i skriptni. U interaktivnom načinu rada upisane naredbe se odmah izvršavaju u okruženju koje nazivamo Python Shell. U skriptnom načinu rada omogućuje se korisniku pisanje, ispravljanje i pohranjivanje programa. Takav program se može izvršavati onoliko puta koliko želimo. Prozor za rad u skriptnome načinu rada pokrećemo tako da u interaktivnom prozoru iz izbornika File odaberemo New Window. Programe u skriptnome načinu rada pokrećemo naredbmo Run Module u izborniku Run ili pritiskom na funkcijsku tipku F5.
Varijable
Jednostavni tipovi podataka
2. Aritmetički operatori
- Varijabla je imenovani prostor u memoriji računala koji čuva adresu nekog objekta.
Imena varijabli
Ime varijable može sadržavati velika i mala slova, brojeve i poseban znak "_". Ime varijable ne smije početi brojem, upotrebljavati ostale znakove (!, ", #, $, %, &,...) i ključne riječi koje već upotrebljava Python za svoje svrhe (int, float, bool, str, True, False,...). Python razlikuje velika i mala.
Naredba pridruživanja
Naredba pridruživanja (oznaka =) omogućava zapisivanje vrijednosti u varijablu.
npr. >>>broj1 = 5
>>>broj1
5
Naredba učitavanja input()
Naredba učitavanja input() omogućuje da se podatak s tipkovnice zapiše u memoriju računala.
>>> stranica_a=input()
45
>>> stranica_a
'45'
Naredba ispisivanja print()
Naredba ispisivanja print() omogućuje ispis vrijednosti na zaslonu monitora.
>>> print (stranica_a)
45
Jednostavni tipovi podataka
- Osnovni tipovi podataka su: cijeli broj, broj s pomičnom točkom, logički ili Booleov tip i znakovni niz ili string.
- 1. Brojevi
Brojčani tip podataka pohranjuje brojčane vrijednosti.
>>> broj=548
Cjelobrojni tip podataka integer
U Pythonu naziv za cjelobrojni tip podataka je int.
>>> n=int(input())
15
Realni tip podataka float
>>> rb=float(input())
546.324
Logički tip podataka
Varijabla logičkog tipa može poprimiti samo dvije vrijednosti: True i False.
2. Aritmetički operatori
- + zbrajanje, - oduzimanje, * množenje, / dijeljenje, % ostatak pri dijeljenju, ** potenciranje, // cjelobrojno dijeljenje
Primjer
>>> 25/8
3.125
>>> 25%8
1
>>> 25//8
3
>>> 2**10
1024
>>>
Operatori
Relacijski operatori:
jednako (==), različito (!=), veće (>), manje (<), manje ili jednako (<=) i veće ili jednako (>=)
Logički operatori:
and - konjukcija (I), or - disjunkcija (ILI) i not - negacija (NE)
3. String
U Pythonu se za prikaz teksta koristi znakovni niz ili string (str), a označava se jednostrukim ili dvostrukim navodnim znacima.
Posebni znaci za oblikovanje teksta: \n - prijelaz u novi redak, \t - tabulator, \\ - ispisuje lijevo ukošenu crtu, \' - ispisuje jednostruki navodnik, \" - ispisuje dvostruki navodnik.
>>> print('Geodetska \ntehnička \nškola \tZagreb')
Geodetska
tehnička
škola Zagreb
>>> - Algoritamski postupak: Slijed
- Algoritamski postupak: Grananje
- Algoritamski postupak: Petlja
- Kompajliranje
- Testiranje
Naredba odlučivanja (if naredba)
Sintaksa naredbe: if uvjet: naredba1 Primjer >>> dy=456 >>> if dy > 0: print('dy je pozitivan') dy je pozitivan >>> |
Else naredba
Sintaksa naredbe: if uvjet: naredba1 else: naredba2 Primjer >>> dx=-523 >>> if dx > 0: print('dx je pozitivan') else: print('dx je negativan') dx je negativan >>> |
Elif naredba
Sintaksa naredbe: if uvjet1: naredba1 elif uvjet2 nareba2 ... elif uvjet_n naredba_n else: naredba Primjer >>> dx=-523 >>> dy=639 >>> if dy>0 and dx > 0: print('Točka je u I. kvadrantu') elif dy>0 and dx<0: print('Točka je u II. kvadrantu') elif dy<0 and dx<0: print('Točka je u III. kvadrantu') else: print('Točka je u IV. kvadrantu') Točka je u II. kvadrantu >>> |
Naredba ponavljanja
Naredba for
Naredba for (petlja) omogućuje ponavljanje iteracijom kontrolne varijable po elementima bilo kojeg slijeda podataka (string, lista).
Sintaksa naredbe:
for v in slijed:
blok:naredbi
Naredba for
Naredba for (petlja) omogućuje ponavljanje iteracijom kontrolne varijable po elementima bilo kojeg slijeda podataka (string, lista).
Sintaksa naredbe:
for v in slijed:
blok:naredbi
Primjer:
>>> for v in 'GTŠ': print('Čitam slovo ',v) Čitam slovo G Čitam slovo T Čitam slovo Š >>> |
Funkcija range()
Funkcija range(kraj) kreira slijed brojeva od 0 do kraj-1.
Funkcija range(kraj) kreira slijed brojeva od 0 do kraj-1.
Primjer:
>>> for i in range(3): print (i) 0 1 2 >>> |
Primjer:
>>> for i in range(5): print(i, end = ' ') 0 1 2 3 4 >>> |
Primjer:
>>> glazbena_abeceda = ['c','d','e','f','g','a','h'] >>> for a in glazbena_abeceda: print (a, end= ',') c,d,e,f,g,a,h, >>> |
Naredba while
Naredba while omogućuje ponavljanje izvršenja bloka naredbi sve dok zadani uvjet ne postane lažan.
Sintaksa naredbe:
while uvjet:
blok_naredbi
Naredba while omogućuje ponavljanje izvršenja bloka naredbi sve dok zadani uvjet ne postane lažan.
Sintaksa naredbe:
while uvjet:
blok_naredbi
Primjer:
>>>a=2 >>> while a < 7: a=a+2 print (a) 4 6 8 >>> |
Primjer:
>>> a=2 >>> while a < 7: a=a+2 print (a, end =' ') 4 6 8 >>> |
|
Zaokruživanje brojeva na određeni broj decimala
Primjer:
print('Aritmetička sredina = ','%.2f' %arit_sredina)
Primjer:
print('Aritmetička sredina = ','%.2f' %arit_sredina)
Složeni tipovi podataka
Python nudi tri složena tipa podataka: liste, n-torke i rječnik.
Lista
Lista je promjenjiva struktura koja se sastoji od poredanog niza članova objekata. Članovi u listi su bilo kakvi objekti različitih tipova.
Listu definiramo nabrajanjem članova odijeljenh zarezima i smještenih unutar uglatih zagrada ([ ] ).
Primjeri:
>>> ['Marta', 'Veronika', 'Barbara', 'Lucija'] # Lista s četiri člana
['Marta', 'Veronika', 'Barbara', 'Lucija']
>>> [3.14159] # Lista s jednim članom
[3.14159]
>>> ['Barbara', 'Tuhelj','Pristava bb', 19, '099/999 0 999' ] # Lista s pet članova
['Barbara', 'Tuhelj', 'Pristava bb', 19, '099/999 0 999']
>>> [ ] # Prazna lista
[]
>>>
>>>
>>> ime='Barbara'
>>> prezime='Barbić'
>>> adresa='Tuhelj bb'
>>> mobitel='099/999 0 999'
>>> imenik=[ime,prezime,adresa,mobitel]
>>> print (imenik)
['Barbara', 'Barbić', 'Tuhelj bb', '099/999 0 999']
>>> list (imenik)
['Barbara', 'Barbić', 'Tuhelj bb', '099/999 0 999']
>>> list (ime)
['B', 'a', 'r', 'b', 'a', 'r', 'a']
>>>
Python nudi tri složena tipa podataka: liste, n-torke i rječnik.
Lista
Lista je promjenjiva struktura koja se sastoji od poredanog niza članova objekata. Članovi u listi su bilo kakvi objekti različitih tipova.
Listu definiramo nabrajanjem članova odijeljenh zarezima i smještenih unutar uglatih zagrada ([ ] ).
Primjeri:
>>> ['Marta', 'Veronika', 'Barbara', 'Lucija'] # Lista s četiri člana
['Marta', 'Veronika', 'Barbara', 'Lucija']
>>> [3.14159] # Lista s jednim članom
[3.14159]
>>> ['Barbara', 'Tuhelj','Pristava bb', 19, '099/999 0 999' ] # Lista s pet članova
['Barbara', 'Tuhelj', 'Pristava bb', 19, '099/999 0 999']
>>> [ ] # Prazna lista
[]
>>>
>>>
>>> ime='Barbara'
>>> prezime='Barbić'
>>> adresa='Tuhelj bb'
>>> mobitel='099/999 0 999'
>>> imenik=[ime,prezime,adresa,mobitel]
>>> print (imenik)
['Barbara', 'Barbić', 'Tuhelj bb', '099/999 0 999']
>>> list (imenik)
['Barbara', 'Barbić', 'Tuhelj bb', '099/999 0 999']
>>> list (ime)
['B', 'a', 'r', 'b', 'a', 'r', 'a']
>>>
Funkcije
Funkcije su dijelovi programa koji se napišu jednom, a upotrebljavaju se onoliko puta koliko su pozvane.
Opći oblik funkcije
def ime_funkcije(parametri):
blok naredbi
return vrijednost
Primjer:
def razlika(x,y):
return x-y
broj1=int(input('broj1= '))
broj2=int(input('broj2= '))
print('razlika brojeva =', razlika(broj1, broj2))
Rezultat:
>>>
broj1= 25
broj2= 19
razlika brojeva = 6
>>>
Funkcije su dijelovi programa koji se napišu jednom, a upotrebljavaju se onoliko puta koliko su pozvane.
Opći oblik funkcije
def ime_funkcije(parametri):
blok naredbi
return vrijednost
Primjer:
def razlika(x,y):
return x-y
broj1=int(input('broj1= '))
broj2=int(input('broj2= '))
print('razlika brojeva =', razlika(broj1, broj2))
Rezultat:
>>>
broj1= 25
broj2= 19
razlika brojeva = 6
>>>
Program postaje modul
Modul u Pythonu koji nam omogućava djelovanje na sustav je modul sys. Modul uvodimo pomoću naredbe import sys.
Naredbom sys.path možemo ustanoviti do kojih sve mapa može Python doći i kojim putovima.
>>> import sys
>>> sys.path.append('C:\Python34\AS') #Dodavanje mape na popis Pythonovih poznatih putova
>>> sys.path
['C:\\Python34\\Lib\\idlelib', 'C:\\Windows\\system32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-packages', 'C:\\Python34\\AS']
>>> import deg2sms
Unesi kut = 12.2345
kut = (12, 14, 4)
>>> sms(45.2356)
(45, 14, 8)
>>> sms(89.4523)
(89, 27, 8)
>>>
-----
Naredbom help ('deg2sms') zatražimo opis sadržaja modula:
>>> help ('deg2sms')
Help on module deg2sms:
NAME
deg2sms - # Pretvaranje dijelove stupnjeva u stup, min, sek
FUNCTIONS
sms(a)
# Pretvaranje dijelove stupnjeva u stup, min, sek
DATA
kut = 12.2345
kut1 = (12, 14, 4)
mnt = 14
sek = 4
st = 12
FILE
n:\as-gts zagreb\_geoinformatika\deg2sms.py
Modul u Pythonu koji nam omogućava djelovanje na sustav je modul sys. Modul uvodimo pomoću naredbe import sys.
Naredbom sys.path možemo ustanoviti do kojih sve mapa može Python doći i kojim putovima.
>>> import sys
>>> sys.path.append('C:\Python34\AS') #Dodavanje mape na popis Pythonovih poznatih putova
>>> sys.path
['C:\\Python34\\Lib\\idlelib', 'C:\\Windows\\system32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-packages', 'C:\\Python34\\AS']
>>> import deg2sms
Unesi kut = 12.2345
kut = (12, 14, 4)
>>> sms(45.2356)
(45, 14, 8)
>>> sms(89.4523)
(89, 27, 8)
>>>
-----
Naredbom help ('deg2sms') zatražimo opis sadržaja modula:
>>> help ('deg2sms')
Help on module deg2sms:
NAME
deg2sms - # Pretvaranje dijelove stupnjeva u stup, min, sek
FUNCTIONS
sms(a)
# Pretvaranje dijelove stupnjeva u stup, min, sek
DATA
kut = 12.2345
kut1 = (12, 14, 4)
mnt = 14
sek = 4
st = 12
FILE
n:\as-gts zagreb\_geoinformatika\deg2sms.py