Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski,...
Transcript of Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski,...
![Page 1: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/1.jpg)
Python – kratak uvodUvod u racunalne mreze i usluge
Odjel za matematiku, 2014.
![Page 2: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/2.jpg)
Jezicne znacajke
Python
Python je interpreterski, interaktivni programski jezik koji podrzava nekolikoprogramerskih paradigmi s naglaskom na citljiv kod.
Tvorac: Guido von RossumPrimjena: MIT, NASA, IBM, Google, . . .Licenca: open-source
Interpretacija medukoda - izvrsavanje ’naredbe po naredbu’
Jezik visoke razine - pretpostavljeno podrzava ADT
cista sintaksa – relativno lagani prijelaz s pseudokoda na implementaciju
podrzava nekoliko programerskih paradigmi (proceduralno programiranje, OOP,funkcionalno programiranje, ...)
prosirivost (CPython, Jython, IronPython (.NET))
prilagodene distribucije: Enthought Python, Python(x,y), ActivePython,. . .
bogata biblioteka programa - Python Cheese Shop - PyPI.
![Page 3: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/3.jpg)
Jezicne znacajke
Python
Python je interpreterski, interaktivni programski jezik koji podrzava nekolikoprogramerskih paradigmi s naglaskom na citljiv kod.
Tvorac: Guido von RossumPrimjena: MIT, NASA, IBM, Google, . . .Licenca: open-source
Interpretacija medukoda - izvrsavanje ’naredbe po naredbu’
Jezik visoke razine - pretpostavljeno podrzava ADT
cista sintaksa – relativno lagani prijelaz s pseudokoda na implementaciju
podrzava nekoliko programerskih paradigmi (proceduralno programiranje, OOP,funkcionalno programiranje, ...)
prosirivost (CPython, Jython, IronPython (.NET))
prilagodene distribucije: Enthought Python, Python(x,y), ActivePython,. . .
bogata biblioteka programa - Python Cheese Shop - PyPI.
![Page 4: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/4.jpg)
Izvodenje python programa
2 nacina rada:
Interaktivni rad – u konzolu se upisuju naredbe programskog jezika koje se odmahinterpretiraju (izvrsavaju).
Python 2.7 (r32 :88445 , Feb 20 2011, 21:29:02) [MSC v.1500 32 bit (Intel)]
on win32
Type "copyright", "credits" or "license ()" for more information.
>>> print "Hello World"
Skriptni rad – Programi se spremaju u skripte a onda se kao Unix/Linux iliWindows skripte pozivaju iz sistemske linije.
python imeskripte.py
Ugradeni kod – izvodenje Python koda u drugim programskim jezicima
![Page 5: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/5.jpg)
Varijable i unos
U Pythonu nema ekplicitine deklaracije tipa varijable, interpreter na temeljuincijalizacije prepoznaje tip.
Ispis na konzolu: print naredba
Primjer (”Hello, World!”)
>>> print "Hello , World!"
Izraz za unos podataka s konzole: input naredba.
Primjer (Unos)
Napisite program koji ce za uneseno ime napisati ”Dobrodosli, ime, u svijet Pythona”.
#ime.py
ime=raw_input("Unesite ime:") #’ime’
print "Dobrodosli "+ime+" u svijet Pythona"
python ime.py
![Page 6: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/6.jpg)
Numericki tipovi
cjelobrojni tip
>>> 1 + 1
2
>>> a = 4
brojevi kliznog zareza
>>> c = 2.1
kompleksni tip brojeva (ugradeni tip!)
>>> a=1.5+0.5j
>>> a.real
1.5
>>> a.imag
0.5
boolean tip
>>> 3 > 4
False
>>> test = (3 > 4)
>>> test
False
>>> type(test)
<type ’bool’>
Konverzija tipa
Neki tipovi se moraju eksplicitno konvertirati!
>>> 3/2.
1.5
>>> a = 3
>>> b = 2
>>> a/b
1
>>> a/float(b)
1.5
![Page 7: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/7.jpg)
Ugradeni spremnici podataka
Python nudi mogucnost koristenja ugradenih spremnika podataka u koje se moguspremati razliciti objekti.
Liste (lists): [’a’,1,’b’,16]
N-terci (tuples): (1,10,3)
Rjecnici (dictionaries): {’a’:1,’b’:2,’c’:3}
Skupovi (sets)
U Pythonu je definiran poveci broj operacija za rad sa spomenutim tipovima podataka.
![Page 8: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/8.jpg)
Liste
Uredena lista podataka, koje moze biti sastavljena od objekata razlicitog tipa.Operacije:
indeksiranje: pristup pojedinim objektima sadrzanim u listi
izrezivanje (slicing)
dodavanje i brisanje elemenata
pretvaranje u druge tipove podataka
Operacije preko operatora:
>>> l = [1, 2, 3, 4, 5]
>>> type(l)
<type ’list’>
>>> l[2]
3
>>> l[-1]
5
>>> l[-2]
4
>>> l[3:]
[4, 5]
>>> l[:3]
[1, 2, 3]
>>> l[::2]
[1, 3, 5]
Liste su promijenjive strukture podataka
>>> l[0] = 28
>>> l
[28, 2, 3, 4, 5]
>>> l[2:4] = [3, 8]
>>> l
[28, 2, 3, 8, 5]
Liste mogu sadrzavati razlicite tipovepodataka
>>> l = [3, 2, ’hello ’]
>>> l
[3, 2, ’hello ’]
>>> l[1], l[2]
(2, ’hello ’)
![Page 9: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/9.jpg)
ListeOperacije preko OO metoda.
>>> l = [1, 2, 3, 4, 5]
>>> l.append (6)
>>> l
[1, 2, 3, 4, 5, 6]
>>> l.pop()
6
>>> l
[1, 2, 3, 4, 5]
>>> l.extend ([6, 7])
>>> l
[1, 2, 3, 4, 5, 6, 7]
>>> l.reverse ()
>>> l
[7, 6, 5, 4, 3, 2, 1]
>>>
OO metode liste:
>>> print dir(l)
[’__add__ ’, ’__class__ ’, ’__contains__ ’, ’__delattr__ ’, ’__delitem__ ’, ’
__delslice__ ’, ’__doc__ ’, ’__eq__ ’, ’__format__ ’, ’__ge__ ’, ’
__getattribute__ ’, ’__getitem__ ’, ’__getslice__ ’, ’__gt__ ’, ’__hash__ ’, ’
__iadd__ ’, ’__imul__ ’, ’__init__ ’, ’__iter__ ’, ’__le__ ’, ’__len__ ’, ’__lt__
’, ’__mul__ ’, ’__ne__ ’, ’__new__ ’, ’__reduce__ ’, ’__reduce_ex__ ’, ’__repr__
’, ’__reversed__ ’, ’__rmul__ ’, ’__setattr__ ’, ’__setitem__ ’, ’__setslice__ ’
, ’__sizeof__ ’, ’__str__ ’, ’__subclasshook__ ’, ’append ’, ’count’, ’extend ’,
’index’, ’insert ’, ’pop’, ’remove ’, ’reverse ’, ’sort’]
>>>
![Page 10: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/10.jpg)
StringoviString je spremnik podataka koji zadrzi znakovni tip podatka.Stringovi podrzavaju operacije kao i u liste.
>>> a = "hello , world!"
>>> a[3:6] # 3rd to 6th (excluded) elements: elements 3, 4, 5
’lo,’
>>> a[2:10:2] # Syntax: a[start:stop:step]
’lo o’
>>> a[::3] # every three characters , from beginning to end
’hl r!’
String je nepromijenjiv (immutable) spremnik podataka.
>>> a="hello , world"
>>> a[2]=’c’
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module >
a[2]=’c’
TypeError: ’str’ object does not support item assignment
>>>
ali postoje motode koje dopustaje odredene izmjene:
>>> a.replace(’l’, ’z’, 1)
’hezlo , world’
>>>
![Page 11: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/11.jpg)
n-terci i skupovi
n-terac predstavlja nepromijenjivu listu.
>>> t = 12345, 54321, ’hello!’
>>> t[0]
12345
>>> t
(12345 , 54321, ’hello!’)
>>> u = (0, 2)
Skupovi sadrze neuredene, jedinstvene elemente.
>>> s = set((’a’, ’b’, ’c’, ’a’))
>>> s
set([’a’, ’c’, ’b’])
>>> s.difference ((’a’, ’b’))
set([’c’])
![Page 12: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/12.jpg)
Rjecnici
Rjecnik kao spremnik podataka poopcuje listu - indeksiranje elemenata moze se ucinitibilo kojim tipom podatka.
>>> tel = {’emmanuelle ’: 5752, ’sebastian ’: 5578}
>>> tel[’francis ’] = 5915
>>> tel
{’sebastian ’: 5578, ’francis ’: 5915, ’emmanuelle ’: 5752}
>>> tel[’sebastian ’]
5578
>>> tel.keys()
[’sebastian ’, ’francis ’, ’emmanuelle ’]
>>> tel.values ()
[5578, 5915, 5752]
>>> ’francis ’ in tel
True
Vrijednosti pridruzeni kljucevima mogu biti razlicitog tipa:
>>> d = {’a’:1, ’b’:2, 3:’hello’}
>>> d
{’a’: 1, 3: ’hello’, ’b’: 2}
![Page 13: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/13.jpg)
Operacije i operatori
Python podrzava vecinu operatora i operacija koji su podrzani u ostalim programskimjezicima:
1 aritmeticke operacije (+,−, ∗∗, /, . . .)2 operatori pridruzivanja (=,+ =, ∗ =, ∗∗ =, . . .)
3 logicki operatori (x < y , x <= y , x > y , x >= y , x <> y , x! = y , x == y)
4 specijalizirane operacije na pojedinim tipovima podataka (ugradene metode uobjekte)
![Page 14: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/14.jpg)
Operatori nad tipovima podataka:’izraz,...’ String pretvorba
key:izraz,... Stvaranje rjecnika
[izraz,...] Stvaranje liste
(izrazr,...) Stvaranje n-terca ili jednostavne zagrade
f(izraz,...) Poziv funkcije
x[index1:index2] Kriska (slicing)
x[index] Indeksiranje (indexing)
x.attr Referenca atributa
x**y Eksponent (x na y potenciju)
x Bitwise NE (NOT)
+x, -x Unarni plus ili minus
x*y, x/y, x//y, x%y Mnozenje, dijeljenje, dijeljenje na cijeli broj, ostatak
x+y, x-y Zbajanje, oduzimanje
x¡¡y, x¿¿y Lijevi pomak, desni pomak
x&y Bitwise I (AND)
x ∧ y Bitwise eksluzivni ILI (XOR)
x—y Bitwise ILI (OR)
x < y, x <= y, x > y, x >= y, x <> y, x! = y, x == y Usporedbe
x is y, x is not y Provjera identiteta
x in y, x not in y Provjera clanstva
not x Bool-ov NE (NOT)
x and y Bool-ov I (AND)
x or y Bool-ov ILI (OR)
lambda arg,...: izraz Anonimna jednostavna funkcija
![Page 15: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/15.jpg)
Primjeri
Primjer
Napisite Python program koji ce za unesene stranice trokuta a, b, c izracunati povrsinutog trokuta.
import math
print("Racun za povrsinu trokuta ")
a = input("a:") #pretpostavka: nejednakost trokuta
b = input("b:")
c=input("c:")
s=(a+b+c)/2
print "povrsina trokuta je ",math.sqrt(s*(s-a)*(s-b)*(s-c))
print "Opseg trokuta je ",a+b+c
Primjer
Napisite Python program koji ce sortirati unesenu listu brojeva pomocu ugradenefunkcije sort().
lista =[2,6,1,4,5,7]
lista.sort()
print lista
![Page 16: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/16.jpg)
Primjeri
Primjer
Napisite Python program koji ce za unesene stranice trokuta a, b, c izracunati povrsinutog trokuta.
import math
print("Racun za povrsinu trokuta ")
a = input("a:") #pretpostavka: nejednakost trokuta
b = input("b:")
c=input("c:")
s=(a+b+c)/2
print "povrsina trokuta je ",math.sqrt(s*(s-a)*(s-b)*(s-c))
print "Opseg trokuta je ",a+b+c
Primjer
Napisite Python program koji ce sortirati unesenu listu brojeva pomocu ugradenefunkcije sort().
lista =[2,6,1,4,5,7]
lista.sort()
print lista
![Page 17: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/17.jpg)
Primjeri
Primjer
Napisite Python program koji ce za unesene stranice trokuta a, b, c izracunati povrsinutog trokuta.
import math
print("Racun za povrsinu trokuta ")
a = input("a:") #pretpostavka: nejednakost trokuta
b = input("b:")
c=input("c:")
s=(a+b+c)/2
print "povrsina trokuta je ",math.sqrt(s*(s-a)*(s-b)*(s-c))
print "Opseg trokuta je ",a+b+c
Primjer
Napisite Python program koji ce sortirati unesenu listu brojeva pomocu ugradenefunkcije sort().
lista =[2,6,1,4,5,7]
lista.sort()
print lista
![Page 18: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/18.jpg)
Primjeri
Primjer
Napisite Python program koji ce za unesene stranice trokuta a, b, c izracunati povrsinutog trokuta.
import math
print("Racun za povrsinu trokuta ")
a = input("a:") #pretpostavka: nejednakost trokuta
b = input("b:")
c=input("c:")
s=(a+b+c)/2
print "povrsina trokuta je ",math.sqrt(s*(s-a)*(s-b)*(s-c))
print "Opseg trokuta je ",a+b+c
Primjer
Napisite Python program koji ce sortirati unesenu listu brojeva pomocu ugradenefunkcije sort().
lista =[2,6,1,4,5,7]
lista.sort()
print lista
![Page 19: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/19.jpg)
Kontrolne strukture
Kontrolne strukture koje podrzava Python:
if . . . then . . . else
if a == 1:
...: print (1)
...: elif a == 2:
...: print (2)
...: else:
...: print(’A lot’)
...:
A lot
![Page 20: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/20.jpg)
Naredbe iteracijePonavljaj uz uvjet . . .
While . . .
>>> z = 1 + 1j
>>> while abs(z) < 100:
...: z = z**2 + 1
...:
>>> z
>>> ( -134+352j)
Iterativno izvodenje blok naredbi upravljen od iteracijskog izraza:
For . . .
a = 10
for i in range (4):
...: print(i)
...:
0
1
2
3
for word in (’cool’, ’powerful ’, ’readable ’):
...: print(’Python is %s’ % word)
...:
Python is cool
Python is powerful
Python is readable
![Page 21: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/21.jpg)
Primjeri
Primjer (Aritmeticka sredina)
Za dani niz podataka treba odrediti njegovu aritmeticku sredinu.
print("Unesite brojeve za racunanje")
print("Za izlaz upisite 0")
suma =0.0
broj=input("Upisite broj")
n=1 #brojimo elemente
while (broj !=0):
broj=input("Upisite broj:")
n+=1
suma+=broj
print suma/n
![Page 22: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/22.jpg)
Primjeri
Primjer (Aritmeticka sredina)
Za dani niz podataka treba odrediti njegovu aritmeticku sredinu.
print("Unesite brojeve za racunanje")
print("Za izlaz upisite 0")
suma =0.0
broj=input("Upisite broj")
n=1 #brojimo elemente
while (broj !=0):
broj=input("Upisite broj:")
n+=1
suma+=broj
print suma/n
![Page 23: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/23.jpg)
Fibonacci
Primjer
Za dani n ispisite n Fibonaccijevih brojeva.
n=eval(input("Koliko zelite fibonaccijevih brojeva:"))
result = []
a, b = 0, 1
while b < n:
result.append(b)
a, b = b, a+b
print "Fibonaccijevi brojevi: "
for broj in result:
print broj , " "
![Page 24: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/24.jpg)
Fibonacci
Primjer
Za dani n ispisite n Fibonaccijevih brojeva.
n=eval(input("Koliko zelite fibonaccijevih brojeva:"))
result = []
a, b = 0, 1
while b < n:
result.append(b)
a, b = b, a+b
print "Fibonaccijevi brojevi: "
for broj in result:
print broj , " "
![Page 25: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/25.jpg)
Funkcije
Funkcije su blokovi naredbi koji primaju vrijednosti ’izvana’ i vracaju vrijednostinjihova racunanja.Procedure su funkcije koje ne vracaju podatke.
>>> def test():
....: print(’in test function ’)
....:
....:
>>> test()
in test function
Primjer
Definirajte funkciju koja vraca aposolutnu vrijednost broja.
def abs(x):
if x<0:
return -x
else:
return x
print abs(-5) # ispisuje 5
![Page 26: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/26.jpg)
Funkcijski argumenti
Parametri su varijable cije vrijednosti uzima funkcija. Parametri se prosljeduju kaoreference na objekte koji sadrze vrijednost varijable.
Prosljedivanje po referenci?
Ukoliko je vrijednost promijenjiva, onda se moze promijeniti unutar funkcije.
>>> def try_to_modify(x, y, z):
... x = 23
... y.append (42)
... z = [99] # new reference
... print(x)
... print(y)
... print(z)
...
>>> a = 77 # immutable variable
>>> b = [99] # mutable variable
>>> c = [28]
>>> try_to_modify(a, b, c)
23
[99, 42]
[99]
>>> print(a)
77
>>> print(b)
[99, 42]
>>> print(c)
[28]
![Page 27: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/27.jpg)
Globalne i lokalne varijable
Varijable deklarirane izvan funkcija mogu biti referencirane u funkcijama, ali ne mogubiti mijenjane.Ukoliko se koristi global kljucna rijec onda je unutar funkcija moguce mijenjativrijednost tih varijabli.
>>> x = 5
>>> def addx(y):
.....: return x + y
.....:
>>> addx (10)
>>> 15
>>> def setx(y):
.....: x = y
.....: print(’x is %d’ % x)
.....:
.....:
>>> setx (10)
x is 10
>>> x
>>> 5
>>> def setx(y):
.....: global x
.....: x = y
.....: print(’x is %d’ % x)
.....:
.....:
In [122]: setx (10)
x is 10
>>> x
>>> 10
![Page 28: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/28.jpg)
Svojstva funkcija
Poseban tip argumenata:
*args – bilo koji broj pozicioniranih argumenata spremljenih u nterac.
*kwargs – bilo koji broj kljuceva spremljenih u rjecnik
>>> def variable_args (*args , ** kwargs):
....: print ’args is’, args
....: print ’kwargs is’, kwargs
....:
>>> variable_args(’one’, ’two’, x=1, y=2, z=3)
args is (’one’, ’two’)
kwargs is {’y’: 2, ’x’: 1, ’z’: 3}
Funkcije su objekti – kao takvi imaju svojstva da mogu biti:
pridjeljeni varijabli
element liste (ili neke druge kolekcije)
argument druge funkcije
>>> va = variable_args
>>> va(’three’, x=1, y=2)
args is (’three ’,)
kwargs is {’y’: 2, ’x’: 1}
Funkcije kao metode – funkcije unutar klasa.
![Page 29: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/29.jpg)
Primjeri
Primjer (Aritmeticka sredina)
Funkcija aritmeticke sredine za proizvoljne brojeve.
def Mean(* brojevi):
n=0
suma =0.0
for x in brojevi:
suma+=x
n+=1
return suma/n
print Mean(2,2,1,6,9,4,7,1,3)
Primjer
Definirajte funkciju koja ce provjeravati je li broj prost i dodatnu funkciju koja ce zaproslijedene brojeve racunati samo sumu prostih brojeva.
import math
def Prime(broj):
for p in range(2,broj):
if (broj % p == 0):
return False
return True
import math
def prime_sum (* brojevi):
suma =0.0
for x in brojevi:
if Prime(x):
suma=suma+x
return suma
![Page 30: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/30.jpg)
Primjeri
Primjer (Aritmeticka sredina)
Funkcija aritmeticke sredine za proizvoljne brojeve.
def Mean(* brojevi):
n=0
suma =0.0
for x in brojevi:
suma+=x
n+=1
return suma/n
print Mean(2,2,1,6,9,4,7,1,3)
Primjer
Definirajte funkciju koja ce provjeravati je li broj prost i dodatnu funkciju koja ce zaproslijedene brojeve racunati samo sumu prostih brojeva.
import math
def Prime(broj):
for p in range(2,broj):
if (broj % p == 0):
return False
return True
import math
def prime_sum (* brojevi):
suma =0.0
for x in brojevi:
if Prime(x):
suma=suma+x
return suma
![Page 31: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/31.jpg)
Zadaci
Zadatak
Napisite Python program koji ce aproksimirati broj π tako da izracunate konacnusumu niza 4/1 − 4/3 + 4/5 − 4/7 + 4/9 − 4/11 + . . .. Korisnik treba unjeti broj n kojipredstavlja broj clanova ovog niza.
Zadatak
Napisite Python program koji ce za uneseno ime i prezime generirati korisnicko imetako da ga slozi kao string od prvog znaka imena i od prvih sedam znakova prezimena.Ime i prezime moraju biti prebaceni u mala slova.
![Page 32: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/32.jpg)
OOP – objektno orijentirano programiranje
Klase – kolekcija podataka (atributa) sa skupom metoda za pristup i manipulaciju timpodacima.
Objekt – instanca klase - varijabla koja sadrzi atribute i metode s postavljenimvrijednostima kako je propisala klasa koju je instancira.
Vazne karakteristike OOP:
1 polimorfizam (engl. polymorphism) – manipulirati objektima bez eksplicitnogznanja o tipu ili klasi kojima pripadaju objekti.
2 enkapsulacija (engl. encapsulation) – atributima i metodama se mogu pridjelitirazine pristupa koje mogu biti privatne ili javne.
3 nasljedivanje (engl. inheritance) – skupovni odnos izmedu klasa (klasa moze bitipodklasa neke druge klase)
![Page 33: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/33.jpg)
OOP u Pythonu
Klasa ili razred je Python objekt s nekoliko znacajki:
Objekt klase moze se pozivati kao da je funkcija. Poziv stvara novi objekt, poznatkao instanca klase
Klasa ima po volji imenovane atribute koji se mogu povezivati i referirati.
Atributi klase koji su povezani na funkcije poznati su kao metode klase.
Metoda moze imati posebno ime definirano od Pythona s dvije podcrte (’ ’)ispred i iza imena. Python upotrebljava takve posebne metode za neke operacijekoje se izvrsavaju na instancama klase. (konstruktor)
Klasa moze podatke i metode naslijediti od drugih klasa
![Page 34: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/34.jpg)
OOP u Pythonu
Klasa ili razred je Python objekt s nekoliko znacajki:
Objekt klase moze se pozivati kao da je funkcija. Poziv stvara novi objekt, poznatkao instanca klase
Klasa ima po volji imenovane atribute koji se mogu povezivati i referirati.
Atributi klase koji su povezani na funkcije poznati su kao metode klase.
Metoda moze imati posebno ime definirano od Pythona s dvije podcrte (’ ’)ispred i iza imena. Python upotrebljava takve posebne metode za neke operacijekoje se izvrsavaju na instancama klase. (konstruktor)
Klasa moze podatke i metode naslijediti od drugih klasa
![Page 35: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/35.jpg)
OOP u Pythonu
Klasa ili razred je Python objekt s nekoliko znacajki:
Objekt klase moze se pozivati kao da je funkcija. Poziv stvara novi objekt, poznatkao instanca klase
Klasa ima po volji imenovane atribute koji se mogu povezivati i referirati.
Atributi klase koji su povezani na funkcije poznati su kao metode klase.
Metoda moze imati posebno ime definirano od Pythona s dvije podcrte (’ ’)ispred i iza imena. Python upotrebljava takve posebne metode za neke operacijekoje se izvrsavaju na instancama klase. (konstruktor)
Klasa moze podatke i metode naslijediti od drugih klasa
![Page 36: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/36.jpg)
OOP u Pythonu
Klasa ili razred je Python objekt s nekoliko znacajki:
Objekt klase moze se pozivati kao da je funkcija. Poziv stvara novi objekt, poznatkao instanca klase
Klasa ima po volji imenovane atribute koji se mogu povezivati i referirati.
Atributi klase koji su povezani na funkcije poznati su kao metode klase.
Metoda moze imati posebno ime definirano od Pythona s dvije podcrte (’ ’)ispred i iza imena. Python upotrebljava takve posebne metode za neke operacijekoje se izvrsavaju na instancama klase. (konstruktor)
Klasa moze podatke i metode naslijediti od drugih klasa
![Page 37: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/37.jpg)
OOP u Pythonu
Klasa ili razred je Python objekt s nekoliko znacajki:
Objekt klase moze se pozivati kao da je funkcija. Poziv stvara novi objekt, poznatkao instanca klase
Klasa ima po volji imenovane atribute koji se mogu povezivati i referirati.
Atributi klase koji su povezani na funkcije poznati su kao metode klase.
Metoda moze imati posebno ime definirano od Pythona s dvije podcrte (’ ’)ispred i iza imena. Python upotrebljava takve posebne metode za neke operacijekoje se izvrsavaju na instancama klase. (konstruktor)
Klasa moze podatke i metode naslijediti od drugih klasa
![Page 38: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/38.jpg)
sintaksa
Definiranje klase:
class ime_klase [(klase roditelji)]:
izraz1
izraz2
...
def metoda1 ():
...
def metoda2 ():
...
...
ilustracija: atributi, funkcije, . . .
>>> class Moja_klasa:
... x=23
...
>>> objekt1=Moja_klasa ()
>>> objekt1.x=51
>>> print(objekt1.x)
51
>>> objekt2=Moja_klasa ()
>>> print(objekt2.x)
23
Provjera da li neki objekt instanca neke klase:
>>> objekt3 =5
>>> isinstance(objekt1 ,
Moja_klasa)
True
>>> isinstance(objekt3 ,
Moja_klasa)
False
![Page 39: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/39.jpg)
sintaksa
Definiranje klase:
class ime_klase [(klase roditelji)]:
izraz1
izraz2
...
def metoda1 ():
...
def metoda2 ():
...
...
ilustracija: atributi, funkcije, . . .
>>> class Moja_klasa:
... x=23
...
>>> objekt1=Moja_klasa ()
>>> objekt1.x=51
>>> print(objekt1.x)
51
>>> objekt2=Moja_klasa ()
>>> print(objekt2.x)
23
Provjera da li neki objekt instanca neke klase:
>>> objekt3 =5
>>> isinstance(objekt1 ,
Moja_klasa)
True
>>> isinstance(objekt3 ,
Moja_klasa)
False
![Page 40: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/40.jpg)
EnkapsulacijaPython nema mehanizam enkapsuliranja podataka kao drugi programski jezici. Praksaenkapsulacije je sugestivna: varijable koje bi trebale biti privatne sugeriraju se da sutavke koristenjem podcrta (__) u prefiksu imena metoda/atributa:
self.__identifikator # privatna varijabla klase (private)
self.identifikator # javna varijabla klase (public)
Primjer (Osoba)
Klasa koja sadrzi javne i privatne varijable.
#7. OOP u Pythonu
# jednostavni primjer klase i instanciranja
class Osoba(): #definiranje klase
"klasa s kojom instanciramo ’osobe’"
def postaviIme(self ,ime): #metode
self.__ime=ime #privatni atributi
def dajIme(self):
return self.__ime
def pozdrav(self):
print("Dobrodosli , gdine %s u svijet Pythona!" %self.name)
osoba1=Osoba() #instanciranje objekta klase Osoba
osoba1.postaviIme(’Pero’)
osoba1.pozdrav ()
osoba2=Osoba()
osoba2.postaviIme(’Ivo’)
osoba2.pozdrav ()
print("Imena novih pythonista su %s i %s!"%( osoba1.getName (),osoba2.getName ()))
![Page 41: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/41.jpg)
EnkapsulacijaPython nema mehanizam enkapsuliranja podataka kao drugi programski jezici. Praksaenkapsulacije je sugestivna: varijable koje bi trebale biti privatne sugeriraju se da sutavke koristenjem podcrta (__) u prefiksu imena metoda/atributa:
self.__identifikator # privatna varijabla klase (private)
self.identifikator # javna varijabla klase (public)
Primjer (Osoba)
Klasa koja sadrzi javne i privatne varijable.
#7. OOP u Pythonu
# jednostavni primjer klase i instanciranja
class Osoba(): #definiranje klase
"klasa s kojom instanciramo ’osobe’"
def postaviIme(self ,ime): #metode
self.__ime=ime #privatni atributi
def dajIme(self):
return self.__ime
def pozdrav(self):
print("Dobrodosli , gdine %s u svijet Pythona!" %self.name)
osoba1=Osoba() #instanciranje objekta klase Osoba
osoba1.postaviIme(’Pero’)
osoba1.pozdrav ()
osoba2=Osoba()
osoba2.postaviIme(’Ivo’)
osoba2.pozdrav ()
print("Imena novih pythonista su %s i %s!"%( osoba1.getName (),osoba2.getName ()))
![Page 42: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/42.jpg)
Inicijalizatori objekataZa inicijalizaciju objekata koristimo posebnu funkciju zvanu konstruktor.
Primjer
Napisite Python klasu Pravokutnik u kojoj kontruktorom inicijalizirate vrijednostivarijabli visina, sirina i metode koje racunaju povrsinu odnosno opseg.
# Pravokutnik sa slucajnim duljinama stranicama
from random import *
import time
seed()
class Pravokutnik ():
def __init__(self ,sirina ,duljina):
self.sirina=sirina
self.duljina=duljina
def povrsina(self):
return self.duljina*self.sirina
def opseg(self):
return 2*( self.duljina+self.sirina)
# glavni program
pravokutnici = []
for i in range (1,3):
pravokutnik=Pravokutnik(random ()*10, random ()*10)
pravokutnici.append(pravokutnik)
for pravokutnik in pravokutnici:
print "Povrsina pravokutnika je %.2f, a opseg %.2f " % (pravokutnik.povrsina
(),pravokutnik.opseg())
![Page 43: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/43.jpg)
Inicijalizatori objekataZa inicijalizaciju objekata koristimo posebnu funkciju zvanu konstruktor.
Primjer
Napisite Python klasu Pravokutnik u kojoj kontruktorom inicijalizirate vrijednostivarijabli visina, sirina i metode koje racunaju povrsinu odnosno opseg.
# Pravokutnik sa slucajnim duljinama stranicama
from random import *
import time
seed()
class Pravokutnik ():
def __init__(self ,sirina ,duljina):
self.sirina=sirina
self.duljina=duljina
def povrsina(self):
return self.duljina*self.sirina
def opseg(self):
return 2*( self.duljina+self.sirina)
# glavni program
pravokutnici = []
for i in range (1,3):
pravokutnik=Pravokutnik(random ()*10, random ()*10)
pravokutnici.append(pravokutnik)
for pravokutnik in pravokutnici:
print "Povrsina pravokutnika je %.2f, a opseg %.2f " % (pravokutnik.povrsina
(),pravokutnik.opseg())
![Page 44: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/44.jpg)
NasljedivanjeNasljedivanje je mehanizam stvaranja novih klasa koje specijaliziraju ili mijenjajuponasanje postojece klase.
class A:
varA = 42
def method1(self):
print("Class A : method1")
class B:
varB = 37
def method1(self):
print("Class B : method1")
def method2(self):
print("Class B : method2")
class C(A,B): # Nasljedjuje od A i B
varC = 3.3
def method2(self):
print("Klasa B: override :-)")
def method3(self):
print("Class C : method3")
class D(A):
varD =100
def method4(self):
print("Subclass of A")
objekt2=B()
objekt3=C()
objekt5=D()
# print(objekt2.varA) # greska: objekt2 nema atribut varA
objekt3.varA # valjan ispis: 42
![Page 45: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/45.jpg)
Nasljedivanje
Primjer klase i podklase:
Primjer (’SPAM’ filter)
Napisite Python klasu koja ce dani niz procistiti od odredene rijeci.
class Filter:
def __init__(self):
self.blokirano =[]
def filter(self ,niz):
return [x for x in niz if x not in self.blokirano]
class SPAMFilter(Filter):
def __init__(self):
self.blokirano =[’SPAM’]
uzorak=Filter ()
print(uzorak.filter ([1 ,2 ,3]))
filteruzorak=SPAMFilter ()
print(filteruzorak.filter ([’SPAM’,’SPAM’,1,4,2,’SPAM’ ,6,5]))
![Page 46: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/46.jpg)
Zadaci
Zadatak 1
1 Napisite Python program u kojem ce te definirati klasu Trokut koja u sebi sadrzizasticene atribute a, b, c i javne metode povrsina() i opseg() koje ce racunatipovrsinu odnosno opseg trokuta. Definirajte konstruktor koji ce inicijaliziratiobjekt klase.
2 Definirajte Python klasu JednakokracniTrokut nasljedenu iz klase Trokut koji ukonstruktor prima samo parametre a, b i prosljeduje konstuktoru bazne klase.
![Page 47: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/47.jpg)
Rjesenje.
# Trokut
import math
class Trokut:
"klasa koja definira trokut"
def __init__(self ,x,y,z):
self._a=x
self._b=y
self._c=z
def opseg(self):
return self._a+self._b+self._c
def povrsina(self):
s=(self._a+self._b+self._c)/2.0
return math.sqrt(s*(s-self._a)*(s-self._b)*(s-self._c))
class JednakokracniTrokut(Trokut):
def __init__(self ,a,b):
Trokut.__init__(self ,a,b,b)
#glavni dio programa
trokut1=Trokut (3,4,5)
trokut2=JednakokracniTrokut (4,3)
print "povrsina trokut1 = ",trokut1.povrsina ()
print "povrsina trokut2 = ",trokut2.povrsina ()
![Page 48: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/48.jpg)
Moduli i paketi
Podaci (varijable), funkcije, klase i objekti skupljaju se u module. Vise modula zajednocini paket. Moduli i paketi predstavljaju Python knjiznicu (engl. library).
Poziv modula postize se naredbom import:
1 Modul stvara novi prostor imena koji sluzi svim objektima definiranim u pripadnojizvornoj datoteci.
2 Modul izvrsava kod koji je sadrzan unutar novonastalog prostora imena.
3 Modul izvrsava ime unutar pozivatelja, koje se odnosi na prostor imena modula.Ovo ime podudara se s imenom modula.
Drugim rijecima, unutar jednog programa mozemo ukljucivati i druge programe.
>>> import this # Python zen -mudrost
![Page 49: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/49.jpg)
Moduli i paketi
Podaci (varijable), funkcije, klase i objekti skupljaju se u module. Vise modula zajednocini paket. Moduli i paketi predstavljaju Python knjiznicu (engl. library).
Poziv modula postize se naredbom import:
1 Modul stvara novi prostor imena koji sluzi svim objektima definiranim u pripadnojizvornoj datoteci.
2 Modul izvrsava kod koji je sadrzan unutar novonastalog prostora imena.
3 Modul izvrsava ime unutar pozivatelja, koje se odnosi na prostor imena modula.Ovo ime podudara se s imenom modula.
Drugim rijecima, unutar jednog programa mozemo ukljucivati i druge programe.
>>> import this # Python zen -mudrost
![Page 50: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/50.jpg)
Moduli i paketi
Podaci (varijable), funkcije, klase i objekti skupljaju se u module. Vise modula zajednocini paket. Moduli i paketi predstavljaju Python knjiznicu (engl. library).
Poziv modula postize se naredbom import:
1 Modul stvara novi prostor imena koji sluzi svim objektima definiranim u pripadnojizvornoj datoteci.
2 Modul izvrsava kod koji je sadrzan unutar novonastalog prostora imena.
3 Modul izvrsava ime unutar pozivatelja, koje se odnosi na prostor imena modula.Ovo ime podudara se s imenom modula.
Drugim rijecima, unutar jednog programa mozemo ukljucivati i druge programe.
>>> import this # Python zen -mudrost
![Page 51: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/51.jpg)
Moduli i paketi
Podaci (varijable), funkcije, klase i objekti skupljaju se u module. Vise modula zajednocini paket. Moduli i paketi predstavljaju Python knjiznicu (engl. library).
Poziv modula postize se naredbom import:
1 Modul stvara novi prostor imena koji sluzi svim objektima definiranim u pripadnojizvornoj datoteci.
2 Modul izvrsava kod koji je sadrzan unutar novonastalog prostora imena.
3 Modul izvrsava ime unutar pozivatelja, koje se odnosi na prostor imena modula.Ovo ime podudara se s imenom modula.
Drugim rijecima, unutar jednog programa mozemo ukljucivati i druge programe.
>>> import this # Python zen -mudrost
![Page 52: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/52.jpg)
Biblioteke
Primjer upotrebe import:
Prva programska skripta:
# datoteka: primjer.py
a = 37 # Varijabla
def A: # Funkcija
print("Ja sam u A")
class K: # Klasa
def B(self):
print("Ja sam u K.B")
b = K() # Tvorba instance
uvoz u drugu programsku skriptu:
import sys
# sys.path.append () # radni folder
import primjer # Ucitava u memoriju i izvodi modul ’primjer ’
print(primjer.a) # Dohvaca izvodi neki clan (varijablu) modula ’primjer ’
primjer.A() # Dohvaca i izvodi funkciju iz modula
c = primjer.K() # Dohvaca i izvodi klasu iz modula , tvorba objekta
![Page 53: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/53.jpg)
Moduli u Python biblioteci
Moduli se mogu ucitati (importirati) koristeci alternativna imena, i to upotrebompoveznice as.Na primjer:
import os as sustav
import socket as mreza
sustav.chdir("..")
mreza.gethostname ()
...
import math as matematika
x=matematika.sqrt (2)
![Page 54: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/54.jpg)
Zadaci
Zadatak 2
Napisite Python program u kojem ce definirati klasu za rad s racionalnim brojevima.Koristeci operatore iz klase definirajte aritmeticke operacije s razlomcima.
![Page 55: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/55.jpg)
Rjesenje.class razlomak:
def __init__(self ,num , denom = 1):
self.numerator = int(num)
self.denominator = int(denom)
# formalni string reprezetant
def __repr__(self):
return "racionalni broj: %s/%s" % (self.numerator , self.denominator)
# strin treprezetant
def __str__(self):
return "%g/%g" % (self.numerator , self.denominator)
# aritmeticki operatori
def __add__(self ,drugi): # operator s lijeva
num , denom = self.numerator*drugi.denominator+self.denominator*drugi.
numerator , self.denominator*drugi.denominator
d = gcd(num ,denom)
return razlomak(num/d,denom/d)
def __mul__(self ,drugi):
return razlomak(self.numerator*drugi.numerator ,self.denominator*drugi.
denominator)
# operatori usporedjivanja
def __eq__(self ,drugi):
return (self.numerator*drugi.denominator == self.denominator*drugi.
numerator)
def __ne__(self ,drugi):
return not self == drugi
def __le__(self ,drugi):
return (self.numerator*drugi.denominator <= self.denominator*drugi.
numerator)
def __lt__(self ,drugi):
return (self <= drugi and self!= drugi)
def __pow__(self ,k):
return razlomak(self.numerator **k,self.denominator **k)
def __ge__(self ,drugi):
pass
def __gt__(self ,drugi):
pass
def gcd(a,b):
if b==0:
return a
return gcd(b,a % b)
![Page 56: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/56.jpg)
Rjesenje.
# test.py
from razlomci import razlomak ,gcd
a = razlomak (2,8)
b = razlomak (3,4)
print a+b
print a*b
![Page 57: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/57.jpg)
GUI - rad s grafickim suceljem
Prakticna primjena OOP-a je implementacija struktura podataka grafickog prikaza.Python u svojoj temeljnoj distribuciji sadrzi Tk biblioteku za rad s grafikom (Tkinterface=Tkinter).
Koristit cemo graphics.py za rad s grafikom i ona u sebi sadrzi klasu koja je izvedenaiz klasa implementiranih u Tk biblioteci.
Za neke druge graficke biblioteke pogledati: wxPython, PyQt, ...
![Page 58: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/58.jpg)
GUI - rad s grafickim suceljem
Prakticna primjena OOP-a je implementacija struktura podataka grafickog prikaza.Python u svojoj temeljnoj distribuciji sadrzi Tk biblioteku za rad s grafikom (Tkinterface=Tkinter).
Koristit cemo graphics.py za rad s grafikom i ona u sebi sadrzi klasu koja je izvedenaiz klasa implementiranih u Tk biblioteci.
Za neke druge graficke biblioteke pogledati: wxPython, PyQt, ...
![Page 59: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/59.jpg)
GUI - rad s grafickim suceljem
Prakticna primjena OOP-a je implementacija struktura podataka grafickog prikaza.Python u svojoj temeljnoj distribuciji sadrzi Tk biblioteku za rad s grafikom (Tkinterface=Tkinter).
Koristit cemo graphics.py za rad s grafikom i ona u sebi sadrzi klasu koja je izvedenaiz klasa implementiranih u Tk biblioteci.
Za neke druge graficke biblioteke pogledati: wxPython, PyQt, ...
![Page 60: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/60.jpg)
Moduli u graphics.py paketu I
GraphWin objekt – predstavlja graficki prozor i prostor u kojem se mogu prikazatigraficki elementi
GraphWin(title,width,height) – instancira objekt klase GraphWin koji imanaziv title, i dimenzije width × height.
plot(x,y,color) – metoda crta piksel na poziciji (x , y) boje color.
setBackground(color) – postavlja boju pozadine prozora
close() – metoda zatvara aktivni prozor
getMouse() – metoda vraca Point objekt na poziciji na kojoj korisnik kliknemisem
setCoords(x1,y1,x2,y2) – postavlja koordinanti sustav prozora (x1,y1) –(x2,y2) dijagonala prozora
Graphics objekti – modul predstavlja geometrijske elemene tocke, pravca, kruznice,elipse, pravokutnika, poligona i teksta redom kao klase imenom Point, Line,
Circle, Oval, Rectangle, Polygon,Text
setFill(color) – postavlja boju interijera grafickog objekta
setOutline(color) – postavlja boju oruba geometrijskog objekta
setWidth(pixels) – metoda postavlja sirinu oruba objekta na velicinu pixels
draw(GraphWinObj) – metoda crta objekt unutar GraphWinObj objekta
undraw() – brise objekt iz grafickog prozora
![Page 61: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/61.jpg)
Moduli u graphics.py paketu II
move(dx,dy) – pomjeri objekt za dx jedinica po osi x , i dy jedinica po osi y
clone() – metoda vraca duplikat objekta koji je u neiscrtanom stanju
Point metode
Point(x,y) – stvara tocku s danim koordinatama
getX(),getY() – vraca x , odnosno y koordinatu
Line metode
Line(pt1,pt2) – metoda konstruira duzinu od tocaka pt1,pt2
getCenter() – vraca poloviste segmenta
getP1(),
getP2() – vraca tocke koje cine krajeve duzine
Circle metode
Circle(center,radius) – metoda konstuira kruznicu s danim centrom iradijusom
getCenter() – vrati tocku centra kruznice
getRadius() – vraca duljinu radijusa kruznice
getP1(), getP2() – vraca 2 krajnje tocke horizontalog promjera
Rectangular metode
Rectangle(pt1, pt2) – konsturira pravokutnik ciju dijagonalu tvore tockept1,pt2
![Page 62: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/62.jpg)
Moduli u graphics.py paketu III
getCenter() – sjeciste dijagonala pravokutnika
getP1(), getP2() – vraca kranje tocke s kojima je instanciran objekt
Oval metode
Oval(pt1, pt2) – konsturira elipsu u okviru odredenim dijagonalom cije sukrajnje tocke pt1,pt2.
getCenter() – vraca tocku centra elipse
getP1(), getP2() – vraca kranje tocke s kojima je instanciran objekt
Poylgon metode
Polygon(pt1, pt2, pt3, ...) – konstuira poligon ciji vrhovi su tockept1,pt2,...
getPoints() – vraca listu tocaka koje tvore poligon
Text metode
Text(anchor, string) – stvara objekt koji na tocki anchor sadrzi string string.
setText(string) – postavlja tekst objekta na string string
getText() – vrati trenutni string
getAnchor() – vrati tocku na kojoj je postavljen tekst
setFace(family) – promjena fonta u familiju family. Familiju fonta mozemobirati izmedu ’helvetica’, ’courier’, ’times roman’, i ’arial’
setSize(point) – promjena velicine slova na velicinu point
![Page 63: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/63.jpg)
Moduli u graphics.py paketu IV
setStyle(style) – promjena stila fonta na stil style koji moze biti ’normal’,’bold’, ’italic’, i ’bold italic’
Objekti unosa – omogucuju korisniku unos ili promjenu vrijednosti u graficki element.
Entry(center, width) – pozicionira tekstualni okvir na tocki center koja imasirinu width
getAnchor() – vraca tocku na kojoj se objekt nalazi
getText() – vraca tekst koji se nalazi u objektu
setText(string) – azurira vrijednost teksta na string
Prikaz slike – paket omogucava minimalnu mogucnost unosa slike (JPEG,GIF,PPM )unutar GraphWin objekta. Neke od specificnih metoda:
Image(center, filename) – konstruira sliku na tocki center iz datotekefilename
getAnchor() – vraca tocku na kojoj se nalazi slika
Stvaranje boja – paket omogucuje koristenje standarne imenovane palete boja kao stoje npr. ’red’, ’purple’, ’green’, ’cyan’,. . .ili ’mjesanje’ RGB boja s metodom rgb color(r,g,b) gdje su r,g,b cjelobrojnevrijednosti od 0 . . . 255 i odgovaraju redom crvenoj, zelenoj i plavoj boji.
![Page 64: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/64.jpg)
Primjer
Napravite graficki prozor u kojem ce biti prikazan uzorak za igru ’kruzic-krizic’.
# create a default 200 x200 window
from graphics import *
win = GraphWin("Tic -Tac -Toe")
# set coordinates to go from (0,0) in the lower left
# to (3,3) in the upper right.
win.setCoords (0.0, 0.0, 3.0, 3.0)
# Draw vertical lines
Line(Point (1,0), Point (1,3)).draw(win)
Line(Point (2,0), Point (2,3)).draw(win)
# Draw horizontal lines
Line(Point (0,1), Point (3,1)).draw(win)
Line(Point (0,2), Point (3,2)).draw(win)
![Page 65: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/65.jpg)
Primjer
Napravite graficki prozor u kojem ce biti prikazan uzorak za igru ’kruzic-krizic’.
# create a default 200 x200 window
from graphics import *
win = GraphWin("Tic -Tac -Toe")
# set coordinates to go from (0,0) in the lower left
# to (3,3) in the upper right.
win.setCoords (0.0, 0.0, 3.0, 3.0)
# Draw vertical lines
Line(Point (1,0), Point (1,3)).draw(win)
Line(Point (2,0), Point (2,3)).draw(win)
# Draw horizontal lines
Line(Point (0,1), Point (3,1)).draw(win)
Line(Point (0,2), Point (3,2)).draw(win)
![Page 66: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/66.jpg)
Primjer
Napravite graficki prozor u kojem cete s 3 klika misa definirati tocke. Napravite objekttrokut uz pomoc tih 3 tocke i definirajte mu boju ispune i boju oruba.
# program za crtanje trokuta
from graphics import *
def crtajTrokut ():
win = GraphWin("Trokut")
win.setCoords (0.0, 0.0, 10.0, 10.0) # postovi koordinatni sustav
message = Text(Point(5, 0.5), "Oznacite 3 tocke:") # tekst komentara
message.draw(win)
# ucitaj i nacrtaj 3 tocke
p1 = win.getMouse ()
p1.draw(win)
p2 = win.getMouse ()
p2.draw(win)
p3 = win.getMouse ()
p3.draw(win)
# koristi poligon objekt kako bi nacrtao trokut
triangle = Polygon(p1 ,p2,p3)
triangle.setFill("red") # postavi ispunu
triangle.setOutline("cyan") # postavi obrub
triangle.draw(win) # nacrtal trokut
# novi klik je izlaz
message.setText("Klikni jos jednom na izlaz ...")
win.getMouse ()
crtajTrokut ()
![Page 67: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/67.jpg)
Primjer
Napravite graficki prozor u kojem cete s 3 klika misa definirati tocke. Napravite objekttrokut uz pomoc tih 3 tocke i definirajte mu boju ispune i boju oruba.
# program za crtanje trokuta
from graphics import *
def crtajTrokut ():
win = GraphWin("Trokut")
win.setCoords (0.0, 0.0, 10.0, 10.0) # postovi koordinatni sustav
message = Text(Point(5, 0.5), "Oznacite 3 tocke:") # tekst komentara
message.draw(win)
# ucitaj i nacrtaj 3 tocke
p1 = win.getMouse ()
p1.draw(win)
p2 = win.getMouse ()
p2.draw(win)
p3 = win.getMouse ()
p3.draw(win)
# koristi poligon objekt kako bi nacrtao trokut
triangle = Polygon(p1 ,p2,p3)
triangle.setFill("red") # postavi ispunu
triangle.setOutline("cyan") # postavi obrub
triangle.draw(win) # nacrtal trokut
# novi klik je izlaz
message.setText("Klikni jos jednom na izlaz ...")
win.getMouse ()
crtajTrokut ()
![Page 68: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/68.jpg)
Primjer
Napravite graficki program koji ce unositi temperaturu u Celziusovim stupnjevima, avracati vrijednost u Fahrenheit skali.
#graficko sucelje za pretvaranje temperature iz celziusa u Farenheit temp.
from graphics import * # ukljucivanje grafickog paketa
def main():
win = GraphWin("Celsius Converter", 300, 200)
win.setCoords (0.0, 0.0, 3.0, 4.0)
# Draw the interface
Text(Point (1,3), " Celsius Temperature:").draw(win)
Text(Point (1,1), "Fahrenheit Temperature:").draw(win)
input = Entry(Point (2,3), 5)
input.setText("0.0")
input.draw(win)
output = Text(Point (2,1),"")
output.draw(win)
button = Text(Point (1.5 ,2.0),"Convert It")
button.draw(win)
Rectangle(Point (1 ,1.5), Point (2 ,2.5)).draw(win)
# pricekaj za klik misa
win.getMouse ()
# pretvori vrijednost
celsius = eval(input.getText ())
fahrenheit = 9.0/5.0 * celsius + 32
# prikazi rezultati i promijeni tekst dugmeta
output.setText("%0.1f" % fahrenheit)
button.setText("Quit")
# cekaj za klik i izlaz
win.getMouse ()
win.close()
main()
![Page 69: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/69.jpg)
Primjer
Napravite graficki program koji ce unositi temperaturu u Celziusovim stupnjevima, avracati vrijednost u Fahrenheit skali.
#graficko sucelje za pretvaranje temperature iz celziusa u Farenheit temp.
from graphics import * # ukljucivanje grafickog paketa
def main():
win = GraphWin("Celsius Converter", 300, 200)
win.setCoords (0.0, 0.0, 3.0, 4.0)
# Draw the interface
Text(Point (1,3), " Celsius Temperature:").draw(win)
Text(Point (1,1), "Fahrenheit Temperature:").draw(win)
input = Entry(Point (2,3), 5)
input.setText("0.0")
input.draw(win)
output = Text(Point (2,1),"")
output.draw(win)
button = Text(Point (1.5 ,2.0),"Convert It")
button.draw(win)
Rectangle(Point (1 ,1.5), Point (2 ,2.5)).draw(win)
# pricekaj za klik misa
win.getMouse ()
# pretvori vrijednost
celsius = eval(input.getText ())
fahrenheit = 9.0/5.0 * celsius + 32
# prikazi rezultati i promijeni tekst dugmeta
output.setText("%0.1f" % fahrenheit)
button.setText("Quit")
# cekaj za klik i izlaz
win.getMouse ()
win.close()
main()
![Page 70: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/70.jpg)
Zadaci
Zadatak
Napisite graficki programu u Pythonu koristeci graphics.py biblioteku kako biimplementirali program crtanja grafa neke funkcije. Program uzima nekolikoparametara iz ulaza: Python regularni izraz koji zadaje realnu funkciju jedne realnevarijable te granice domene l < r . Kad korisnik unese vrijednosti parametara programcrta graf funkcije f (x) na domeni [l , r ].Napomena: Graf mozete diskretno aproksimirati s tockama (xi , f (x)), i = 1, . . . , kgdje je k broj uzoraka i zatim tocke grafa povezati duzinama.
![Page 71: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/71.jpg)
Zakljucak
Sto dalje?
Minicourse: kratki uvod u Python, NIJE CIJELI KURS. Zahtjev na samostalni raduz preporucenu literaturu.
Pitanja iz Pythona ? Konzultacije u dogovoru sa asistentima.
Python u primjeni – ostale vjezbe.
![Page 72: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/72.jpg)
Zakljucak
Sto dalje?
Minicourse: kratki uvod u Python, NIJE CIJELI KURS. Zahtjev na samostalni raduz preporucenu literaturu.
Pitanja iz Pythona ? Konzultacije u dogovoru sa asistentima.
Python u primjeni – ostale vjezbe.
![Page 73: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/73.jpg)
Zakljucak
Sto dalje?
Minicourse: kratki uvod u Python, NIJE CIJELI KURS. Zahtjev na samostalni raduz preporucenu literaturu.
Pitanja iz Pythona ? Konzultacije u dogovoru sa asistentima.
Python u primjeni – ostale vjezbe.
![Page 74: Python { kratak uvod - · PDF fileJezi cne zna cajke Python Python je interpreterski, interaktivni programski jezik koji podr zava nekoliko programerskih paradigmi s naglaskom na citljiv](https://reader034.fdocuments.net/reader034/viewer/2022042605/5a84dcfa7f8b9a9f1b8c0e97/html5/thumbnails/74.jpg)
Literatura
Mark Pilgrim, Dive Into Python 3, APress, 2009 [besplatno]
James Payne, Beginning Python: Using Python 2.6 and Python 3.1, WileyPublishing, Inc., 2011.
J. M. Zelle, Python: Introduction to Computer Science, 2003.