Changes between Version 84 and Version 85 of python
- Timestamp:
- Oct 17, 2015, 9:30:58 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
python
v84 v85 213 213 214 214 215 == STRINGI==216 Stringi so, skupek znakov ujeti med enojne ali dvojne narekovaje.217 218 === Združevanje stringov ===219 V angleščini, združevanje stringov z operatorjem "+" imenujemo "concatenation".215 == NIZI (ang. "String(s)") == 216 Nizi so, skupek znakov ujeti med enojne ali dvojne narekovaje. 217 218 === Združevanje nizov === 219 V angleščini, združevanje nizov z operatorjem "+" imenujemo "concatenation". 220 220 {{{ 221 221 #!python … … 227 227 }}} 228 228 229 === Multiplikacija stringov ===230 Python pozna množenje stringov s številom. na tak način multipliciramo stringpoljubno-krat.229 === Multiplikacija nizov === 230 Python pozna množenje nizov s številom. na tak način multipliciramo niz znakov poljubno-krat. 231 231 {{{ 232 232 #!python … … 236 236 }}} 237 237 238 === Indeksiranje stringov ===239 Do nekega poljubnega znaka stringa lahko dostopamo, če poznamo pozicijo tega znaka v stringu. To bomo pokazali na naslednjem primeru. Pri tem moramo biti pozorni na to, da Python šteje on 0 naprej !238 === Indeksiranje nizov === 239 Do nekega poljubnega znaka niza lahko dostopamo, če poznamo pozicijo tega znaka v nizu. To bomo pokazali na naslednjem primeru. Pri tem moramo biti pozorni na to, da Python šteje on 0 naprej ! 240 240 {{{ 241 241 #!python 242 242 python = "Python" 243 print("h " + python[3]) # Opomba: indeksiranje stringa se prične z 0243 print("h " + python[3]) # Opomba: indeksiranje niza se prične z 0 244 244 245 245 p_crka = python[0] … … 247 247 }}} 248 248 249 V primeru (zelo) dolgih stringov se velikokrat izkaže za uporabno tako imenovano NEGATIVNO INDEKSIRANJE. Na tak način lahko štejemo pozicije znakov od konca striga proti začetku.250 {{{ 251 #!python 252 dolg_ string= "This is a very long string!"253 klicaj = long_string[-1]249 V primeru (zelo) dolgih nizov, se velikokrat izkaže za uporabno tako imenovano NEGATIVNO INDEKSIRANJE. Na tak način lahko štejemo pozicije znakov od konca niza proti začetku. 250 {{{ 251 #!python 252 dolg_niz = "This is a very long string!" 253 klicaj = dolg_niz[-1] 254 254 print(klicaj) 255 255 }}} 256 256 257 === Rezanje stringa (ang. "slicing") ===258 Rezanje strnga uporabljamo zato, da bi iz stringa dobili poljubni skupek znakov. Sintaksa rezanja je podobna tisti od indeksiranja.257 === Rezanje niza (ang. "slicing") === 258 Rezanje niza uporabljamo zato, da bi iz niza dobili poljubni skupek znakov. Sintaksa rezanja je podobna tisti od indeksiranja. 259 259 {{{ 260 260 #!python … … 268 268 269 269 === "in" operator === 270 Da bila lahko preverili, če neki string vsebuje specifični znak/črko/podstring uporabljamo omenjeni operator. 271 {{{ 270 Da bi lahko preverili, če neki niz vsebuje specifični znak/črko/pod niz uporabljamo operator "in". 272 271 #!python 273 272 x = "ime spremenljivke" 274 print("ime" in x) # Izpise direktno boolovo vrednost izraza273 print("ime" in x) # Izpise direktno Boolovo vrednost izraza 275 274 276 275 y = "spremenljivke" in x … … 279 278 280 279 === Funkcija "len()" === 281 Fun cijo len() uporabljamo, da bi ugotovili koliko znakov poljubni stringvsebuje.280 Funkcijo len() uporabljamo, da bi ugotovili koliko znakov poljubni niz vsebuje. 282 281 {{{ 283 282 #!python 284 283 # -*- coding: utf-8 -*- 285 # Izpis prve polovice stringa x284 # Izpis prve polovice niza x 286 285 287 286 x = ''' 288 To je zelo dolg string,287 To je zelo dolg niz, 289 288 katerega omejujejo trojni 290 289 narekovaji … … 292 291 293 292 print(x[int(len(x)/2)]) # Opomba: Ugotovite zakaj je bilo v tem primeru uporabiti funkcijo int() in pa kako še bi lahko 294 # prišli do istega rezultata brez fun cije int() ?295 }}} 296 297 === Izničevanje prvotne fun cije narekovajev ===298 Z znakom "\" (backslash) lahko narekovaje uporabimo le kot neki znak, kjer nas njihova funkcija, da definirajo stringne "omejuje" več.293 # prišli do istega rezultata brez funkcije int() ? 294 }}} 295 296 === Izničevanje prvotne funkcije narekovajev === 297 Z znakom "\" (backslash) lahko narekovaje uporabimo le kot neki znak, kjer nas njihova funkcija, da definirajo niz, ne "omejuje" več. 299 298 {{{ 300 299 #!python … … 302 301 }}} 303 302 304 === Osnovne metode s stringi ===305 Python ima številne funkcije za operiranje s tringi. Te funcije so shranjene v knjižnici stringa. Vse te funcije so ŽE vgrajene v vsak string. Te funcije oz. včasih znane tudi kot metode (ker so funcije definirane v razredi. Več o tem kasneje) lahko uporabimo tako, da spremenljivki stringa dodamo "." in nato še metodo. Do vseh možnih metod lahko v PyCharmu dostopamo tako, da se postavimo za "." in izvedemo ukaz "Ctrl" + "Space". Sicer nam vse te možnosti PYCharm večinomže sproti prikazuje.306 Mogoče je smotrno omeniti še to, da vse te fun cije osnovnega stringa NE SPREMENIJO, temveč le vrnejo NOV string, kateri je bil modoficiran.303 === Osnovne metode z nizi === 304 Python ima številne funkcije za operiranje z nizi. Te funkcije so shranjene v knjižnici nizov. Vse te funkcije so ŽE vgrajene v vsak niz znakov. Te funkcije oz. včasih znane tudi kot metode (ker so funkcije definirane v razredi. Več o tem kasneje) lahko uporabimo tako, da spremenljivki niza dodamo "." in nato še metodo. Do vseh možnih metod lahko v PyCharmu dostopamo tako, da se postavimo za "." in izvedemo ukaz "Ctrl" + "Space". Sicer nam vse te možnosti PyCharm večinoma že sproti prikazuje. 305 Mogoče je smotrno omeniti še to, da vse te funkcije osnovnega stringa oz. niza NE SPREMENIJO, temveč le vrnejo NOV niz, kateri je bil modificiran. 307 306 {{{ 308 307 #!python … … 316 315 }}} 317 316 318 === Formatiranje stringa===319 Da bi lahko združevali strings spremenljivkami oz. njihovimi vrednostmi uporabljamo "%" operator (v ang. "modulo" operator).317 === Formatiranje nizov === 318 Da bi lahko združevali niz s spremenljivkami oz. njihovimi vrednostmi uporabljamo "%" operator (v ang. "modulo" operator). 320 319 {{{ 321 320 #!python … … 325 324 print("%s ima %d let. Danes se je v soli \nucil o decimalnih stevilih in je izracunal,\nda ima na danasnji dan natanko %.3f let." % (ime, x, y)) 326 325 }}} 326 327 == PODATKOVNE STRUKTURE == 328 329 === Seznami (ang. "Lists") === 330 Seznam je podatkovna struktura, katero lahko uporabimo za shranjevanje zbirke različnih delčkov informacij pod imenom ene spremenljivke. Seznami v Pythonu so bolj fleksibilni, kot v drugih jezikih. To pomeni, da v sezname v Pythonu lahko shranjujemo tudi različne tipe podatkov in ne le en sam tip, kot je to v večini drugih jezikov. 331 {{{ 332 #!python 333 kvadrati = [1, 4, 9, 16, 25] # Naredimo nov seznam. Podatki so med sabo ločeni z vejicami 334 print(kvadrati) 335 336 print(kvadrati[1:len(kvadrati)-1]) # Tudi pri seznamih lahko uporabimo "rezanje" oz. "slicing", podobno, kot pri nizih 337 }}} 338 339 ==== Operacije s seznami ==== 340 Seznamom lahko dodajamo nove elemente in jih tudi spreminjamo. To bomo pokazali na primeru. 341 {{{ 342 #!python 343 # -*- coding: utf-8 -*- 344 zivali = ['slon', 'lev', 'tiger', "zirafa"] # Naredimo nov seznam 345 print(zivali) 346 347 zivali += ["opica", 'pes'] # Prvotnemu seznamu dodamo še dva nova elementa 348 print(zivali) 349 350 zivali.append("dino") # Drugi način kako lahko dodajamo elemente seznamu je z metodo "append" 351 print(zivali) 352 353 zivali[-1] = "dinosaur" # Elementu na koncu seznama spremenimo vrednost (ime v tem primeru) 354 print(zivali) 355 356 zivali[1:3] = [] # Elemente na pozicijah seznama od 2 do 4 pobrišemo 357 print(zivali) 358 359 zivali[2] = ['macka', 'koala'] # Seznam povečamo za 1 elementa, pri tem pa 1 zamenjamo 360 print(zivali) 361 }}} 362 363 === Terke (ang. "Tuples") === 364 Terke so podatkovni tip skoraj identičen seznamom. Ena večjih razlik med seznami in terkami je ta, da terk ne moremo spreminjat (elementov ne moremo dodajat, spreminjat oz. brisat iz terke). 365 {{{ 366 #!python 367 # -*- coding: utf-8 368 terka = ('a', 'b', 'c', 'd') # Terke definiramo z navadnimi oklepaji 369 print(terka) 370 }}} 371 372 327 373 328 374 == Kontrolni ukazi ==