korisnička sučelja - irb.hr · pdf filepython python interpreter python je interpreterski,...

91
Aleksandar Maksimović, Institut Ruđer Bošković, Bijenička c. 54 / 24/05/2007 / Str. 1 korisnička sučelja Korisnička sučelja Aleksandar Maksimović IRB

Upload: vandan

Post on 15-Feb-2018

230 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 1korisnička sučelja

Korisnička sučelja

Aleksandar MaksimovićIRB

Page 2: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 2korisnička sučelja

Python

Python interpreterPython je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido van Rossum. Već do konca 1998., Python je imao bazu od 300.000 korisnika, a od 2000. već su ga prihvatile ustanove kao MIT, NASA, IBM, Google, Yahoo i druge.Python je besplatan (za akademske ustanove i neprofitnu upotrebu), open-source software, s izuzetno dobrom potporom, literaturom i dokumentacijom. http://www.python.org

Page 3: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 3korisnička sučelja

Python

Page 4: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 4korisnička sučelja

Python

Page 5: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 5korisnička sučelja

python

http://www.python.org

http://www.activestate.com

Page 6: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 6korisnička sučelja

python interpreter

python.exe

Page 7: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 7korisnička sučelja

drPython

interpreter

editor

Page 8: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 8korisnička sučelja

drPython

izvršena skripta

save

run

skripta

Page 9: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 9korisnička sučelja

programiranje

Konstante

1, 1.23, 5.2e-3

'string', "ovo je' string"

Brojevi

1,2,3 - cijeli brojevi

1.2, 5.3e-3 - realni brojevi

(1+2j) - kompleksni brojevi

String

' - jednostruki navodnici

" - dvostruki

''' - trostruki

'''This is a multi-line string. This is the first line.

This is the second line.

"What's your name?," I asked.

He said "Bond, James Bond."

Page 10: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 10korisnička sučelja

python

Escape Sequences

\' - prikazuje ', npr. 'What\'s your name?'

'What's your name?' - ne bi znao gdje je početak i kraj

\n - nova linija

This is the first line\nThis is the second line

\t - tab

\ - na kraju linije nastavlja string na novu liniju

"This is the first sentence.\

This is the second sentence."

Page 11: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 11korisnička sučelja

python

Varijable

Imena

Prvi znak mora biti slovo ili _ (underscore)

Ostali znakovi u imenu varijable - slova, brojevi ili _

Velika i mala slova, varijable Var i var nisu iste

Dobra imena

i, __my_name, name_23

Loša imena

2things, this is spaced out, moje-ime

Page 12: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 12korisnička sučelja

primjer

# Filename : var.pyi = 5print ii = i + 1print is = '''This is a multi-line string.This is the second line.'''print s

i = 5;print i;

i = 5; print i;

i = 5; print i

s = 'This is a string. \This continues the string.'print s

Page 13: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 13korisnička sučelja

tipovi podataka

varijable sadrže različite vrijednosti - tipove podataka

Provjera tipa nekog objekta ostvaruje se pozivom funkcije type():

Page 14: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 14korisnička sučelja

tipovi podataka

N-terac (eng. tuples)

N-terac je niz objekata, istih ili različitih tipova. N-terac se definira nabrajanjem objekata odvojenih zarezima (,). Zadnjem članu u nizu takodjer se može dodati zarez. N-terac sa samo jednim članom mora imati zarez na kraju, jer inače gubi tip n-terca.

Page 15: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 15korisnička sučelja

tuples

Page 16: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 16korisnička sučelja

Liste

Članovi u listi su bilo kakvi objekti različitih vrsta. Lista se definira nabrajanjem članova, odijeljenih zarezima (,) i smještenih unutar uglatih zagrada ([ ]). Dopušteno je iza zadnjeg člana liste, ostaviti još ejdan zarez. Prazna lista se označava praznim parom uglatih zagrada.

pridružuje se "by reference"svaka promjena u novoj varijabli, mijenja početnulistu

"by value"

Page 17: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 17korisnička sučelja

Liste

Matrice možemo prikazati pomoću lista

Page 18: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 18korisnička sučelja

Operacije na nizovima

Dohvaćanje elementa bilo kojeg niza (stringa, n-terca, liste) postiže se indeksiranjem. Dio niza, odlomak ili kriška (engl. slice) dobiva se sintaksom 'i:j' gdje je 'i' početni indeks, a 'j' završni indeks kriške (tablica 2.4.). Dužina niza dobiva se pozivom funkcije len(), a maksimalni i minimalni član niza s funkcijama max(), odnosno min().

Page 19: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 19korisnička sučelja

Operacije na nizovima

vrijednosti niza, stringa

promjena vrijednosti u listi

Page 20: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 20korisnička sučelja

RječnikPreslikavanje (engl. mapping) je skup objekata indeksiranih s pomoću gotovo slobodnih vrijednosti koje se zovu ključevi (engl. keys). Tako nastali objekti su promjenljivi, a za razliku od nizova, nisu poredani. Eksplicitno stvaranje rječnika provodi se nizom parova ključ:vrijednost odvojenih zarezima, koji se smještaju unutar vitičastih zagrada.

Page 21: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 21korisnička sučelja

metode - string

Page 22: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 22korisnička sučelja

metode - string

Page 23: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 23korisnička sučelja

metode - liste

Page 24: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 24korisnička sučelja

metode - rječnik

Page 25: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 25korisnička sučelja

Page 26: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 26korisnička sučelja

import

interpreter komanda

import sys -učitava se modul sistemskih funkcija

Pojedinačni podatak ili funkcija iz modula dohvaća se naredbom 'from ... import ... ' :

from math import sin, cos

funkcije sin i cos iz math modula

Page 27: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 27korisnička sučelja

programiranje

indent - uvlačenje retka koristimo kod naredbi toka

prazni (bijeli) prostor (whitespace= tab ili space) na početku linije označava kod u istom bloku, npr.

>>> b=1>>> if b>0:... print b... 1>>> Kod If komande koristimo whitespace - tab

>>> print "bok"bok>>> print "bok"

File "<stdin>", line 1print "bok"^

SyntaxError: invalid syntax

enter: - početak bloka

Page 28: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 28korisnička sučelja

Operatori

Kalkulator - možemo interaktivno zbrajati, oduzimati, itd..

Page 29: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 29korisnička sučelja

Operatori

Neki od operatora vrijede za stringove

definirani su skraćeni operatori kao u C jeziku

Page 30: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 30korisnička sučelja

Operatori

Uspoređivanje vrijednosti i stringova

1 - istinita tvrdnja

0 - neistinita tvrdnja

Page 31: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 31korisnička sučelja

Expressions

Izrazi - linije koda u kojima pridružujemo vrijednosti i/ili koristimo operatore kako bi dobili novu vrijednost

Page 32: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 32korisnička sučelja

Kontrola toka

if - komanda

možemo je koristiti zajedno s jednom ili više dodatnih uvjeta

ako nije nijedan uvjet ispunjen koristimo else komandu

blokovi elif i else nisu obavezni

Page 33: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 33korisnička sučelja

kontrola toka

Page 34: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 34korisnička sučelja

Petlje (Loops)

izvršava blok sve dok je zadovoljen uvjet condition

kao i kod if komande možemo koristiti else komandu ako uvjet nije istinit

Page 35: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 35korisnička sučelja

Petlje

Rezultat je:

Page 36: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 36korisnička sučelja

Petlje

nMax = 5a = []for n in range(1,nMax):

a.append(1.0/n)print a

Izvršava se blok naredbi dok se vrijednost target nalazi u nizu sequence

target

sequence

list = [’Jack’, ’Jill’, ’Tim’, ’Dave’]name = eval(raw_input(’Type a name: ’)) # inputfor i in range(len(list)):

if list[i] == name:print name,’is number’,i + 1,’on the

list’break

else:print name,’is not on the list’

Page 37: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 37korisnička sučelja

Kontrola pogreške

Pogreške prilikom izvođenja programa mogu se uhvatiti naredbama try i except

Page 38: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 38korisnička sučelja

break & continue

break i continue modificiraju izvršavanje petlje. break omogućava prekidanje petlje

continue omogućava da skočimo na slijedeću iteraciju

Page 39: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 39korisnička sučelja

Funkcije

Fukncije definiramo pomoću komande def

primjer: 1 i 2-ga derivacija

Page 40: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 40korisnička sučelja

def, module

Ako je argument lista, onda se vrijednost liste mijenja i u glavnom programu

module math

samo odabrane funkcije

Page 41: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 41korisnička sučelja

module, doc string

doc string - nakon definicije funkcije string s trostrukim navodnicima

Page 42: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 42korisnička sučelja

Funkcijepromjenljivi broj argumenata specificira se *

** kada je argument dictionary promjenljive duljine

Page 43: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 43korisnička sučelja

Funkcije

* - promjenjljivi broj argumenata, ne znači da argument ne može biti lista kojoj ne znamo duljinu unaprijed

>>> aa=[1,2,3]>>> def myf(bb):... print bb[1]... bb[1]=0... >>> myf(aa)2

>>> def mz(*bl):... print bl... >>> mz(aa)([1, 0, 3],)

>>> mz(1,(2,3),4)1(2, 3)4>>>

1 argument

3 argumenta

Page 44: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 44korisnička sučelja

Funkcije

Brojevi, N-terci (tuples) ne možemo mjenjati vrijednost u funkciji

>>> bb=(1,2,3)>>> myf(bb)2Traceback (most recent call last):File "<stdin>", line 1, in ?File "<stdin>", line 3, in myf

TypeError: object does not support item assignment

kao u C jeziku (by value):

Page 45: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 45korisnička sučelja

lokalne varijable

output:

Page 46: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 46korisnička sučelja

global

global statement

output:

Page 47: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 47korisnička sučelja

Funkcije

Output

Default argumenti

Page 48: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 48korisnička sučelja

Funkcije

Keyword argumenti

Output

Page 49: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 49korisnička sučelja

Funkcije

return - vrati željenu vrijednost i prekine izvršavanje funkcije

Output

Page 50: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 50korisnička sučelja

main ili moduleFunkcija kao glavni program ili module dinamički određeno

Page 51: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 51korisnička sučelja

Funkcije/modul

Page 52: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 52korisnička sučelja

Funkcije/globalne varijable

Page 53: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 53korisnička sučelja

Files

Otvaranje, pisanje i zatvaranje datoteka (files). Pretpostavimo da imamo podatke

Program treba napraviti 3 file-a, measurment.dat, model1.dat i model2.dat. Prvi stupac se generira s korakom 1.5, a drugi stupac je zadan. Npr. model1.dat

Page 54: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 54korisnička sučelja

Files

Tok programa:1. Otvori file, ime je prvi argument prilikom pozivanja programa.

Ako fali argument obavijesti korisnika.2. Pročitaj i preskoči prvu liniju, komentar.3. Pročitaj vremenski korak iz druge linije4. Pročitaj imena fileova pomoću trećeg reda. Napravi listu file

objekata za različite fileove.5. Pročitaj ostatak filea, liniju po liniju, razdvoji liniju u y

vrijednosti i zapiši vrijednost u odgovarajući file zajedno s generiranim vremenom.

Page 55: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 55korisnička sučelja

skripta

#!/usr/bin/env pythonimport sys, math, stringusage = 'Usage: %s infile' % sys.argv[0]try:

infilename = sys.argv[1]except:

print usage; sys.exit(1)ifile = open(infilename, 'r') # open file for reading# read first comment line (no further use of it here):line = ifile.readline()# next line contains the increment in t values:dt = float(ifile.readline())# next line contains the name of the curves:ynames = ifile.readline().split()

# list of output files:outfiles = []for name in ynames:

outfiles.append(open(name + '.dat', 'w'))t = 0.0 # t value# read the rest of the file line by line:for line in ifile:

yvalues = line.split()if len(yvalues) == 0: continue # skip blankfor i in range(len(outfiles)):

outfiles[i].write('%12g %12.5e\n'%\(t, float(yvalues[i])))

t += dtfor file in outfiles: file.close()

Page 56: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 56korisnička sučelja

skriptaModifikacije na prvu verziju skripte.Možemo cijeli file učitati u listu.

dt - vremenski korak dobivamo iz lines[1].

imena

petlja, brojevi

dictionary

Page 57: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 57korisnička sučelja

skripta

Linija programa razdvaja liniju u listu stringova koje pretvara u realne brojeveprimjenom funkcije float.Zadnja petlja treba varijablu i koja broji o kojoj se vrijednosti radi (indeks) ulisti yyvalue. Lijepša sintaksa je

gdje zip omogućuje iteriranje preko više varijabli.

Page 58: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 58korisnička sučelja

zip

Page 59: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 59korisnička sučelja

skriptaNa kraju skripte pišemo vrijednosti t i y u file

convert1.py - skripta za prvu verzijuconvert2.py - skripta nakon promjenadirektorij vjezbe2

Page 60: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 60korisnička sučelja

Files

Otvaranje, pisanje i zatvaranje datoteka (files). Pretpostavimo da imamo podatke

Program treba napraviti 3 file-a, measurment.dat, model1.dat i model2.dat. Prvi stupac se generira s korakom 1.5, a drugi stupac je zadan. Npr. model1.dat

Page 61: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 61korisnička sučelja

Files

Tok programa:1. Otvori file, ime je prvi argument prilikom pozivanja programa.

Ako fali argument obavijesti korisnika.2. Pročitaj i preskoči prvu liniju, komentar.3. Pročitaj vremenski korak iz druge linije4. Pročitaj imena fileova pomoću trećeg reda. Napravi listu file

objekata za različite fileove.5. Pročitaj ostatak filea, liniju po liniju, razdvoji liniju u y

vrijednosti i zapiši vrijednost u odgovarajući file zajedno s generiranim vremenom.

Page 62: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 62korisnička sučelja

skripta

#!/usr/bin/env pythonimport sys, math, stringusage = 'Usage: %s infile' % sys.argv[0]try:

infilename = sys.argv[1]except:

print usage; sys.exit(1)ifile = open(infilename, 'r') # open file for reading# read first comment line (no further use of it here):line = ifile.readline()# next line contains the increment in t values:dt = float(ifile.readline())# next line contains the name of the curves:ynames = ifile.readline().split()

# list of output files:outfiles = []for name in ynames:

outfiles.append(open(name + '.dat', 'w'))t = 0.0 # t value# read the rest of the file line by line:for line in ifile:

yvalues = line.split()if len(yvalues) == 0: continue # skip blankfor i in range(len(outfiles)):

outfiles[i].write('%12g %12.5e\n'%\(t, float(yvalues[i])))

t += dtfor file in outfiles: file.close()

Page 63: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 63korisnička sučelja

drpython i argumenti

Page 64: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 64korisnička sučelja

skriptaModifikacije na prvu verziju skripte.Možemo cijeli file učitati u listu.

dt - vremenski korak dobivamo iz lines[1].

imena

petlja, brojevi

dictionary

Page 65: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 65korisnička sučelja

skripta

Linija programa razdvaja liniju u listu stringova koje pretvara u realne brojeveprimjenom funkcije float.Zadnja petlja treba varijablu i koja broji o kojoj se vrijednosti radi (indeks) ulisti yyvalue. Lijepša sintaksa je

gdje zip omogućuje iteriranje preko više varijabli.

Page 66: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 66korisnička sučelja

zip

Page 67: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 67korisnička sučelja

skriptaNa kraju skripte pišemo vrijednosti t i y u file

convert1.py - skripta za prvu verzijuconvert2.py - skripta nakon promjenadirektorij vjezbe4

Page 68: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 68korisnička sučelja

Klase

Kao kod modula, klase sadrže imena varijabli, tzv. namespace

nasljeđivanje

višestruke kopije klase

sadrže podatke o trenutnom stanju

više klasa možemo definirati u jednom file-u (modulu)

OOP - objektno orijentirano programiranje

self - pointer na klasu, kod definiranja metoda (funkcija) u klasi prvi argument mora biti self

self je ekvivalentan pointeru this u C++, self u Javi

Page 69: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 69korisnička sučelja

Klase

Koristili smo primjer za modul:# mymodule.py""" This is module: mymodule

mymodule prints Hi"""def sayhi():

print "Hi, module speaking"

version=0.1# end of mymodule

doc string

funkcijavarijablakomentar

>>> import mymodule>>> dir()['__builtins__', '__doc__', '__name__', 'mymodule', 'os', 'sys']>>> dir(mymodule)['__builtins__', '__doc__', '__file__', '__name__', 'sayhi', 'version']>>>

Učitamo modul

Page 70: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 70korisnička sučelja

Klase

>>> mymodule.version0.10000000000000001>>> mymodule.sayhi()Hi, module speaking>>> sayhi()Traceback (most recent call last):

File "<stdin>", line 1, in ?NameError: name 'sayhi' is not defined>>>

>>> >>> from mymodule import *>>> dir()['__builtins__', '__doc__', '__name__', 'mymodule', 'os', 'sayhi', 'sys', 'version']>>> version0.10000000000000001>>> sayhi()Hi, module speaking>>>

Funkcije i varijable sad se nalaze u globalnom prostoru.

Funkcije i varijable skrivene u modulu.

Page 71: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 71korisnička sučelja

Klase

Definiramo klasu Person

funkcija (method)

p je klasa Person i sadrži funkciju sayHi

OutputFunkcija sayHi() nema parametara, medjutim self se nalazi u definiciji

Page 72: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 72korisnička sučelja

Klase

Metoda __init__ se poziva prilikom stvaranja klase, pomoću nje postavljamo početne vrijednosti. Ekvivalentna je konstruktoru u C++.

Page 73: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 73korisnička sučelja

Klase

#!/usr/bin/python

# Filename: objvar.py

class Person:

'''Represents a person.'''

population = 0

def __init__(self, name):

'''Initializes the person's data.'''

self.name = name

print '(Initializing %s)' % self.name

# When this person is created, he/she

# adds to the population

Person.population += 1

def __del__(self):

'''I am dying.'''

print '%s says bye.' % self.name

Person.population -= 1

if Person.population == 0:

print 'I am the last one.'

else:

print 'There are still %d people left.' % Person.population

Page 74: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 74korisnička sučelja

Klaseswaroop = Person('Swaroop')

swaroop.sayHi()

swaroop.howMany()

kalam = Person('Abdul Kalam')

kalam.sayHi()

kalam.howMany()

swaroop.sayHi()

swaroop.howMany()

def sayHi(self):

'''Greeting by the person. Really, that's all it does.'''

print 'Hi, my name is %s.' % self.name

def howMany(self):

'''Prints the current population.'''

if Person.population == 1:

print 'I am the only person here.'

else:

print 'We have %d persons here.' % Person.population

Page 75: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 75korisnička sučelja

prostor varijabli

!/usr/bin/python# Filename: objvar1.pyclass Person:

'''Represents a person.'''print "Making a class ... "population = 0

def __init__(self, name='John Doe'):'''Initializes the person's data.'''self.name=nameprint '(Initializing %s)' % self.name# When this person is created,

he/she # adds to the populationPerson.population += 1

import - varijable inicijalizirane

Person.varijabla - globalna uprostoru klase

self.varijabla - svaka instancaima svoju varijablu

modificirani program za klase

Page 76: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 76korisnička sučelja

Klase>>> from objvar1 import *Making a class ... >>> hr=Person('Hrvoje Horvat')(Initializing Hrvoje Horvat)>>> hr.population1>>> hr.howMany()I am the only person here.>>> pero=Person('pero')(Initializing pero)>>> m1=Person()(Initializing John Doe)>>> m1.sayHi()Hi, my name is John Doe.>>> m1.howMany()We have 3 persons here.>>> m1.population3

__init__ se poziva prilikom incijalizacije (stvaranja) klase, argumenti se prenose nafunkciju.Keyword ili Default argumenti u __init__dobivamo klasu koja prepoznaje varijabilnibroj argumenata (ali ne proizvoljno).Varijable KLASE dijele svi objekti (instance)te klase. Postoji samo jedna kopija KLASE,kad neki objekt promjeni varijablu u KLASI,svi objekti vide istu vrijednost.

Page 77: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 77korisnička sučelja

Klase

Sve varijable klase su public, a funkcije virtualne

Konvencija:

sve varijable ili funkcije koje će ce koristiti samo unutar klase trebaju početi znakom _

sve druge varijable/funkcije se mogu koristiti u drugim objektima/klasama

__ su privatne funkcije

__del__ je analogan destruktoru u C++

poziva se prilikom destrukcije objekta (vidi objvar.py primjer)

Page 78: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 78korisnička sučelja

Nasljeđivanje

Nova klasa može naslijediti varijable i metode

Napiše se jednostavna klasa baze koja sadrži postavljanje vrijednosti

Nasljeđujemo je prilikom definiranja nove klase, argument je ime klase koju nasljeđujemo

__init__ klase baze se mora eksplicitno pozvati pomoću self varijable

nasljeđivanje više klase se zove višestruko nasljeđivanje (eng. multiple inheritance)

Page 79: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 79korisnička sučelja

Nasljeđivanje

Page 80: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 80korisnička sučelja

Nasljeđivanje

Page 81: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 81korisnička sučelja

Nasljeđivanje

Page 82: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 82korisnička sučelja

Klase

Višestruko nasljeđivanjePrimjena:

Page 83: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 83korisnička sučelja

Integriranje

općenito napisanogdje su težine i točke integracije.

Page 84: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 84korisnička sučelja

Integriranje

Page 85: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 85korisnička sučelja

Integriranje

def f(x):print 'f(%g)=%g' % (x, 2*x)return 2*x

test funkcija u integrate.py

Page 86: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 86korisnička sučelja

Integriranje

g varijabla je funkcija

Page 87: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 87korisnička sučelja

Integriranje

if __name__ == '__main__':import sys, mathtry:

classname = sys.argv[1]except:

print 'Usage: %s Simpson|Trapezoidal|GaussLegendre2' % sys.argv[0]sys.exit(1)

s = eval(classname + '()')v = s.eval(lambda x: 2*x)print 'integral of f(x)=2*x from -1 to 1 (=0):', vv = integrate(s, 0, 2, f, 2)print 'integral of f(x)=2*x from 0 to 2 (=4):', v

Primjer u integrate.py:

npr. s=Trapezoidal()v=Trapezoidal(2*x)

općenita metoda

Page 88: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 88korisnička sučelja

IntegriranjeC:/Python24/pythonw.exe -u "C:/Documents and Settings/maks/My Documents/UI/python/scripting/src/py/examples/integrate.py"Usage: C:/Documents and Settings/maks/My Documents/UI/python/scripting/src/py/examples/integrate.py Simpson|Trapezoidal|GaussLegendre2

C:/Python24/pythonw.exe -u "C:/Documents and Settings/maks/My Documents/UI/python/scripting/src/py/examples/integrate.py" Trapezoidalintegral of f(x)=2*x from -1 to 1 (=0): 0.0f(0)=0f(1)=2f(1)=2f(2)=4integral of f(x)=2*x from 0 to 2 (=4): 4.0

Bez argumenata, i argument je Trapezoidal

Page 89: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 89korisnička sučelja

Integriranje

Interaktivno koristimo integrate.py u drPythonu

>>> from integrate import *>>> v1=Trapezoidal()>>> v1.eval(lambda x: 2*x)0.0>>> v1.eval(f)f(-1)=-2f(1)=20.0

lambda funkcija

funkcija f definirana u integrate.py

Page 90: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 90korisnička sučelja

LiteraturaA Byte of Python, Swaroop C H

Python - Osnove, M. Essert i I. Vazler, Osijek 2007.

NUMERICAL METHODS IN ENGINEERING WITH Python, Jaan Kiusalaas, Cambridge University Press

Python cookbook, O'Reilly

Python Scripting for Computational Science, Hans Petter Langtangen, Springer-Verlag

Programming Python, Mark Lutz, O'Reilly

Learning Python, Mark Lutz, David Ascher, Frank Wilson, O'Reilly

Page 91: Korisnička sučelja - irb.hr · PDF filePython Python interpreter Python je interpreterski, interaktivni, objektno orjentirani programski jezik, kojeg je 1990. godine razvio Guido

Aleksandar Maksimović,Institut Ruđer Bošković, Bijenička c. 54

/ 24/05/2007 / Str. 91korisnička sučelja

LiteraturaPython Programming on Win32, Mark Hammond and Andy Robinson, O'Reilly

Python Standard Library, Fredrik Lundh,O'Reilly

Python in a Nutshell, by Alex Martelli, O'Reilly

Python & XML, by Christopher A. Jones and Fred L. Drake, Jr. , O'Reilly

Python Web Programming, by Steve Holden, New Riders