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

of 91/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

Post on 15-Feb-2018

222 views

Category:

Documents

2 download

Embed Size (px)

TRANSCRIPT

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 1korisnika suelja

    Korisnika suelja

    Aleksandar MaksimoviIRB

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 2korisnika suelja

    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

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 3korisnika suelja

    Python

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 4korisnika suelja

    Python

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 5korisnika suelja

    python

    http://www.python.org

    http://www.activestate.com

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 6korisnika suelja

    python interpreter

    python.exe

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 7korisnika suelja

    drPython

    interpreter

    editor

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 8korisnika suelja

    drPython

    izvrena skripta

    save

    run

    skripta

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 9korisnika suelja

    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."

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 10korisnika suelja

    python

    Escape Sequences

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

    'What's your name?' - ne bi znao gdje je poetak 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."

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 11korisnika suelja

    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

    Loa imena

    2things, this is spaced out, moje-ime

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 12korisnika suelja

    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

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 13korisnika suelja

    tipovi podataka

    varijable sadre razliite vrijednosti - tipove podataka

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

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 14korisnika suelja

    tipovi podataka

    N-terac (eng. tuples)

    N-terac je niz objekata, istih ili razliitih tipova. N-terac se definira nabrajanjem objekata odvojenih zarezima (,). Zadnjem lanu u nizu takodjer se moe dodati zarez. N-terac sa samo jednim lanom mora imati zarez na kraju, jer inae gubi tip n-terca.

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 15korisnika suelja

    tuples

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 16korisnika suelja

    Liste

    lanovi u listi su bilo kakvi objekti razliitih vrsta. Lista se definira nabrajanjem lanova, odijeljenih zarezima (,) i smjetenih unutar uglatih zagrada ([ ]). Doputeno je iza zadnjeg lana liste, ostaviti jo ejdan zarez. Prazna lista se oznaava praznim parom uglatih zagrada.

    pridruuje se "by reference"svaka promjena u novoj varijabli, mijenja poetnulistu

    "by value"

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 17korisnika suelja

    Liste

    Matrice moemo prikazati pomou lista

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 18korisnika suelja

    Operacije na nizovima

    Dohvaanje elementa bilo kojeg niza (stringa, n-terca, liste) postie se indeksiranjem. Dio niza, odlomak ili krika (engl. slice) dobiva se sintaksom 'i:j' gdje je 'i' poetni indeks, a 'j' zavrni indeks krike (tablica 2.4.). Duina niza dobiva se pozivom funkcije len(), a maksimalni i minimalni lan niza s funkcijama max(), odnosno min().

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 19korisnika suelja

    Operacije na nizovima

    vrijednosti niza, stringa

    promjena vrijednosti u listi

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 20korisnika suelja

    RjenikPreslikavanje (engl. mapping) je skup objekata indeksiranih s pomou gotovo slobodnih vrijednosti koje se zovu kljuevi (engl. keys). Tako nastali objekti su promjenljivi, a za razliku od nizova, nisu poredani. Eksplicitno stvaranje rjenika provodi se nizom parova klju:vrijednost odvojenih zarezima, koji se smjetaju unutar vitiastih zagrada.

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 21korisnika suelja

    metode - string

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 22korisnika suelja

    metode - string

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 23korisnika suelja

    metode - liste

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 24korisnika suelja

    metode - rjenik

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 25korisnika suelja

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 26korisnika suelja

    import

    interpreter komanda

    import sys -uitava se modul sistemskih funkcija

    Pojedinani podatak ili funkcija iz modula dohvaa se naredbom 'from ... import ... ' :

    from math import sin, cos

    funkcije sin i cos iz math modula

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 27korisnika suelja

    programiranje

    indent - uvlaenje retka koristimo kod naredbi toka

    prazni (bijeli) prostor (whitespace= tab ili space) na poetku linije oznaava 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 "", line 1print "bok"^

    SyntaxError: invalid syntax

    enter: - poetak bloka

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 28korisnika suelja

    Operatori

    Kalkulator - moemo interaktivno zbrajati, oduzimati, itd..

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 29korisnika suelja

    Operatori

    Neki od operatora vrijede za stringove

    definirani su skraeni operatori kao u C jeziku

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 30korisnika suelja

    Operatori

    Usporeivanje vrijednosti i stringova

    1 - istinita tvrdnja

    0 - neistinita tvrdnja

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 31korisnika suelja

    Expressions

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

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 32korisnika suelja

    Kontrola toka

    if - komanda

    moemo je koristiti zajedno s jednom ili vie dodatnih uvjeta

    ako nije nijedan uvjet ispunjen koristimo else komandu

    blokovi elif i else nisu obavezni

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 33korisnika suelja

    kontrola toka

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 34korisnika suelja

    Petlje (Loops)

    izvrava blok sve dok je zadovoljen uvjet condition

    kao i kod if komande moemo koristiti else komandu ako uvjet nije istinit

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 35korisnika suelja

    Petlje

    Rezultat je:

  • Aleksandar Maksimovi,Institut Ruer Bokovi, Bijenika c. 54

    / 24/05/2007 / Str. 36korisnika suelja

    Petlje

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