| 167 | | - Boolovi operatorji (True/False) |
| 168 | | - Primerjalni opearatorji (==, !=, <, >, >=, <=) |
| | 167 | - Boolovi operatorji (not, and, or, is, ... ) |
| | 168 | - Primerjalni operaratorji (==, !=, <, >, >=, <=) |
| | 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". |
| | 220 | {{{ |
| | 221 | #!python |
| | 222 | hello = "Hello" |
| | 223 | world = 'World' |
| | 224 | |
| | 225 | hello_world = hello + ' ' + world |
| | 226 | print(hello_world) |
| | 227 | }}} |
| | 228 | |
| | 229 | === Multiplikacija stringov === |
| | 230 | Python pozna množenje stringov s številom. na tak način multipliciramo string poljubno-krat. |
| | 231 | {{{ |
| | 232 | #!python |
| | 233 | hello = "hello" |
| | 234 | ten_of_hellos = hello * 10 |
| | 235 | print(ten_of_hellos) |
| | 236 | }}} |
| | 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 ! |
| | 240 | {{{ |
| | 241 | #!python |
| | 242 | python = "Python" |
| | 243 | print("h " + python[3]) # Opomba: indeksiranje stringa se prične z 0 |
| | 244 | |
| | 245 | p_crka = python[0] |
| | 246 | print(p_crka) |
| | 247 | }}} |
| | 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] |
| | 254 | print(klicaj) |
| | 255 | }}} |
| | 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. |
| | 259 | {{{ |
| | 260 | #!python |
| | 261 | x = "Monty Python" |
| | 262 | monty = x[:5] # ta zapis je enak x[0:5]. Torej, tako 1., kot tudi 2. indeks lahko izpustimo |
| | 263 | print(monty) |
| | 264 | |
| | 265 | python = x[6:] |
| | 266 | print(python) |
| | 267 | }}} |
| | 268 | |
| | 269 | === "in" operator === |
| | 270 | Da bila lahko preverili, če neki string vsebuje specifični znak/črko/podstring uporabljamo omenjeni operator. |
| | 271 | {{{ |
| | 272 | #!python |
| | 273 | x = "ime spremenljivke" |
| | 274 | print("ime" in x) # Izpise direktno boolovo vrednost izraza |
| | 275 | |
| | 276 | y = "spremenljivke" in x |
| | 277 | print(y) |
| | 278 | }}} |
| | 279 | |
| | 280 | === Funkcija "len()" === |
| | 281 | Funcijo len() uporabljamo, da bi ugotovili koliko znakov poljubni string vsebuje. |
| | 282 | {{{ |
| | 283 | #!python |
| | 284 | # -*- coding: utf-8 -*- |
| | 285 | # Izpis prve polovice stringa x |
| | 286 | |
| | 287 | x = ''' |
| | 288 | To je zelo dolg string, |
| | 289 | katerega omejujejo trojni |
| | 290 | narekovaji |
| | 291 | ''' |
| | 292 | |
| | 293 | 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 funcije int() ? |
| | 295 | }}} |
| | 296 | |
| | 297 | === Izničevanje prvotne funcije narekovajev === |
| | 298 | Z znakom "\" (backslash) lahko narekovaje uporabimo le kot neki znak, kjer nas njihova funkcija, da definirajo string ne "omejuje" več. |
| | 299 | {{{ |
| | 300 | #!python |
| | 301 | print('The name of this ice-cream is "Sweeet\'n\'Tasty"') |
| | 302 | }}} |
| | 303 | |
| | 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 funcije osnovnega stringa NE SPREMENIJO, temveč le vrnejo NOV string, kateri je bil modoficiran. |
| | 307 | {{{ |
| | 308 | #!python |
| | 309 | # -*- coding: utf-8 -*- |
| | 310 | monty_python = "Monty Python" |
| | 311 | print(monty_python) |
| | 312 | |
| | 313 | print(monty_python.upper()) # Primer, kako lahko osnovni string |
| | 314 | # zapišemo z velikimi črkami |
| | 315 | print(monty_python[3].lower()) |
| | 316 | }}} |
| | 317 | |
| | 318 | === Formatiranje stringa === |
| | 319 | Da bi lahko združevali string s spremenljivkami oz. njihovimi vrednostmi uporabljamo "%" operator (v ang. "modulo" operator). |
| | 320 | {{{ |
| | 321 | #!python |
| | 322 | x = 8 |
| | 323 | y = 8.77 |
| | 324 | ime = "Andrej" |
| | 325 | 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 | }}} |