Doslej smo v naših programih večinoma obdelovali števila, v praksi pa pogosto želimo obdelovati tudi besedilne podatke (besede in besedila). Takrat pride prav podatkovni tip niz. Niz je zaporedje osnovnih elementov, ki jim pravimo znaki – to so črke, števke, presledki, ločila in podobno.
V programu zapišemo nize tako, da vsebino niza postavimo v narekovaje. Uporabimo lahko enojne ali dvojne narekovaje, važno je le, da se začetni in končni narekovaj ujemata. Če želimo kot znak v nizu uporabiti tudi narekovaj, moramo pred njega zapisati \
; če pa hočemo kot znak v nizu uporabiti \
, ga moramo zapisati dvojno:
Narekovaji so pomembni, ker drugače tolmač ne bi mogel vedeti, kdaj skušamo zapisati niz, in bi vsebino niza poskusil izvesti oz. interpretirati (glej zadnje tri vrstice zgornjega primera).
Kaj se izpiše ob klicu print("\\///\\/\\\\/")
?
Niz lahko v mnogih pogledih uporabljamo podobno kot tabelo: če je s
nek niz, lahko do znaka na indeksu i
pridemo z izrazom s[i]
(pri tem i = 0
pomeni prvi znak niza, i = 1
je drugi znak in podobno). Za razliko od tabele pa posameznih znakov v nizu ne moremo spreminjati.
V mnogih programskih jezikih obstaja poseben podatkovni tip, ki predstavlja posamezni znak niza (običajno se imenuje char
ali kaj podobnega). V pythonu pa posebnega tipa za znake ni, pač pa posamezni znak vidimo kot niz dolžine 1; tako je s[i]
tudi sam zase niz (dolžine 1).
Niz ima lahko tudi dolžino 0; takemu pravimo prazen niz. Dolžino niza s
dobimo z len(s)
.
Na nizih lahko uporabljamo nekatere operatorje, ki smo jih sicer navajeni uporabljati na številih. Operacija s + t
s
in nato še znake niza t
), z operacijo s * n
n
kopij niza s
.