16 Tipovi podataka'Ovo je string literal'"Ovo je novi string literal"Dvije razli£ite vrste navodnika imaju identi£nu funkciju. Mogu se koristiti tako da apostroramo stringunutar stringa, ²to je £esto jednostavnije nego apostrorati string upotrebom posebnog znaka (\'za jednostruki ili\"za dvostruki navodnik):' jel\' me netko trazio?' # eksplicitni navodnik u stringu" jel' me netko trazio?" # Na ovaj nacin je citljivijeAko se string ºeli prikazati u vi²e linija, onda se na koncu svake linije stavlja znak lijeve kose crte(\):"Ovo je prva, \a ovo druga linija istog stringa"# Komentar nije dopusten na# liniji sa znakom \U stringu se dakako mogu umetati i posebni znakovi (\n za novu liniju, \t za tabulator i sl.), ako setakav niz ºeli programom ispisivati:"Ovo je prva, \na ovo druga linija istog stringa"Drugi pristup je uporaba stringa s trostrukim navodnicima, koji se dobiju trostrukim ponavljanjemjednostrukih (') ili dvostrukih navodnika (""")."""A ovo je jedan duuugi stringkoji se proteze na vise linija,u ovom slucaju na tri"""# Komentar dopusten samo na krajuU ovakvom literalu stringa s tri navodnika, automatski su sa£uvani novi redovi, pa se njihovi kontrolniznakovi ne trebaju dodavati u niz. Nije dopu²tena ni upotreba nekih kontrolnih (tzv. 'escape') znakova(tablica 2.3), kao na primjer znaka lijeve kose crte (engl. backslash;)Tablica 2.3: 'Escape' znakoviNiz Zna£enje ASCII/ISO kod\ < novired > Konac linije se zanemaruje Nema ga\\ Kosa crta ulijevo, backslash 0x5c\ ′ Jednostruki navodnik 0x27\” Dvostruki navodnik 0x22\a Zvono, bell 0x07
2.2. Nizovi 17Niz Zna£enje ASCII/ISO kod\b Brisanje ulijevo, backspace 0x08\f Nova stranica, form feed 0x0c\n Nova linija, newline 0x0a\r Skok u novi red, return 0x0d\t Tabulator, tab 0x09\v Vertikalni tabulator 0x0bOktalna vrijednosti ooo (\0000\0oookako je zadanodo \0377)Heksadecimalna vrijednost hh\xhhkako je zadano(\x00 do \xff)\uhhh Unicode vrijednosti Samo za Unicode str.Unicode je novi standard za pisanje znakova. Za razliku od ASCII standarda, novi standard uklju£ujesve znakove iz gotovo svih svjetskih jezika. Unicode literalni string ima istu sintaksu kao obi£ni literalnistring uz dodatak znaka 'u' ili 'U' koji se pi²e odmah ispred po£etnog navodnika. Unicode literalni nizoviznakova mogu koristiti '\u' iza kojeg slijede £etiri heksadecimalne znamenke koje opisuju Unicode znak.>>> a=u'str\xf6m gr\xfcn'>>> print aström grünVi²e string literala bilo koje vrste napisanih u slijedu, compiler ¢e povezati u jedan string objekt.>>> print 'koliko' 'je' 'tu' 'stringov' u'\xe4' '?'kolikojetustringovä?2.2.2 N-teracN-terac je nepromjenljivi niz £lanova. ƒlanovi u n-tercu su bilo koji objekti, istih ili razli£itih tipova. N-terac se denira nabrajanjem objekata odvojenih zarezima (,). Zadnjem £lanu u nizu takodjer se moºedodati zarez. N-terac sa samo jednim £lanom mora imati zarez na kraju, jer ina£e gubi tip n-terca.Prazan n-terac je ozna£en s praznim parom zagrada. £lanovi se mogu grupirati, pa nastaju ugnjeºdenin-terci.(100, 200, 300) # N-terac s tri clana(3.14,) # N-terac sa samo jednim clanom( ) # Prazan n-teracZa generiranje n-terca, osim nabrajanjem, mogu¢e je pozvati i ugraženu funkciju 'tuple()'. Ako jex neki niz, onda tuple(x) vra¢a n-terac s £lanovima jednakima £lanovima niza x.>>> x='abrakadabra'>>> tuple(x)('a', 'b', 'r', 'a', 'k', 'a', 'd', 'a', 'b', 'r', 'a')>>> y='sezame'>>> (x,y)('abrakadabra', 'sezame')2.2.3 ListaLista, listina ili popis je promjenljiv poredani niz £lanova objekata. £lanovi u listi su bilo kakvi objektirazli£itih tipova. Lista se denira nabrajanjem £lanova odijeljenih zarezima (,) i smje²tenih unutaruglatih zagrada ([ ]). Dopu²teno je iza zadnjeg £lana liste, ostaviti jo² jedan zarez. Prazna lista seozna£ava praznim parom uglatih zagrada. Evo nekih primjera: