Changes between Version 84 and Version 85 of python


Ignore:
Timestamp:
Oct 17, 2015, 9:30:58 PM (8 years ago)
Author:
mprotic
Comment:

Popravki slovničnih napak in dodatek poglavja Podatkovni tipi

Legend:

Unmodified
Added
Removed
Modified
  • python

    v84 v85  
    213213
    214214
    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)") ==
     216Nizi so, skupek znakov ujeti med enojne ali dvojne narekovaje.
     217
     218=== Združevanje nizov ===
     219V angleščini, združevanje nizov z operatorjem "+" imenujemo "concatenation".
    220220{{{
    221221#!python
     
    227227}}}
    228228
    229 === Multiplikacija stringov ===
    230 Python pozna množenje stringov s številom. na tak način multipliciramo string poljubno-krat.
     229=== Multiplikacija nizov ===
     230Python pozna množenje nizov s številom. na tak način multipliciramo niz znakov poljubno-krat.
    231231{{{
    232232#!python
     
    236236}}}
    237237
    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 ===
     239Do 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 !
    240240{{{
    241241#!python
    242242python = "Python"
    243 print("h " + python[3])     # Opomba: indeksiranje stringa se prične z 0
     243print("h " + python[3])     # Opomba: indeksiranje niza se prične z 0
    244244
    245245p_crka = python[0]
     
    247247}}}
    248248
    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]
     249V 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
     252dolg_niz = "This is a very long string!"
     253klicaj = dolg_niz[-1]
    254254print(klicaj)
    255255}}}
    256256
    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") ===
     258Rezanje niza uporabljamo zato, da bi iz niza dobili poljubni skupek znakov. Sintaksa rezanja je podobna tisti od indeksiranja.
    259259{{{
    260260#!python
     
    268268
    269269=== "in" operator ===
    270 Da bila lahko preverili, če neki string vsebuje specifični znak/črko/podstring uporabljamo omenjeni operator.
    271 {{{
     270Da bi lahko preverili, če neki niz vsebuje specifični znak/črko/pod niz uporabljamo operator "in".
    272271#!python
    273272x = "ime spremenljivke"
    274 print("ime" in x) # Izpise direktno boolovo vrednost izraza
     273print("ime" in x) # Izpise direktno Boolovo vrednost izraza
    275274
    276275y = "spremenljivke" in x
     
    279278
    280279=== Funkcija "len()" ===
    281 Funcijo len() uporabljamo, da bi ugotovili koliko znakov poljubni string vsebuje.
     280Funkcijo len() uporabljamo, da bi ugotovili koliko znakov poljubni niz vsebuje.
    282281{{{
    283282#!python
    284283# -*- coding: utf-8 -*-
    285 # Izpis prve polovice stringa x
     284# Izpis prve polovice niza x
    286285
    287286x = '''
    288 To je zelo dolg string,
     287To je zelo dolg niz,
    289288katerega omejujejo trojni
    290289narekovaji
     
    292291
    293292print(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č.
     293                        # prišli do istega rezultata brez funkcije int() ?
     294}}}
     295
     296=== Izničevanje prvotne funkcije narekovajev ===
     297Z znakom "\" (backslash) lahko narekovaje uporabimo le kot neki znak, kjer nas njihova funkcija, da definirajo niz, ne "omejuje" več.
    299298{{{
    300299#!python
     
    302301}}}
    303302
    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.
     303=== Osnovne metode z nizi ===
     304Python 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.
     305Mogoč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.
    307306{{{
    308307#!python
     
    316315}}}
    317316
    318 === Formatiranje stringa ===
    319 Da bi lahko združevali string s spremenljivkami oz. njihovimi vrednostmi uporabljamo "%" operator (v ang. "modulo" operator).
     317=== Formatiranje nizov ===
     318Da bi lahko združevali niz s spremenljivkami oz. njihovimi vrednostmi uporabljamo "%" operator (v ang. "modulo" operator).
    320319{{{
    321320#!python
     
    325324print("%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))
    326325}}}
     326
     327== PODATKOVNE STRUKTURE ==
     328
     329=== Seznami (ang. "Lists") ===
     330Seznam 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
     333kvadrati = [1, 4, 9, 16, 25]   # Naredimo nov seznam. Podatki so med sabo ločeni z vejicami
     334print(kvadrati)
     335
     336print(kvadrati[1:len(kvadrati)-1])  # Tudi pri seznamih lahko uporabimo "rezanje" oz. "slicing", podobno, kot pri nizih
     337}}}
     338
     339==== Operacije s seznami ====
     340Seznamom lahko dodajamo nove elemente in jih tudi spreminjamo. To bomo pokazali na primeru.
     341{{{
     342#!python
     343# -*- coding: utf-8 -*-
     344zivali = ['slon', 'lev', 'tiger', "zirafa"]  # Naredimo nov seznam
     345print(zivali)
     346
     347zivali += ["opica", 'pes']                   # Prvotnemu seznamu dodamo še dva nova elementa
     348print(zivali)
     349
     350zivali.append("dino")                        # Drugi način kako lahko dodajamo elemente seznamu je z metodo "append"
     351print(zivali)
     352
     353zivali[-1] = "dinosaur"                      # Elementu na koncu seznama spremenimo vrednost (ime v tem primeru)
     354print(zivali)
     355
     356zivali[1:3] = []                             # Elemente na pozicijah seznama od 2 do 4 pobrišemo
     357print(zivali)
     358
     359zivali[2] = ['macka', 'koala']               # Seznam povečamo za 1 elementa, pri tem pa 1 zamenjamo
     360print(zivali)
     361}}}
     362
     363=== Terke (ang. "Tuples") ===
     364Terke 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
     368terka = ('a', 'b', 'c', 'd')   # Terke definiramo z navadnimi oklepaji
     369print(terka)
     370}}}
     371
     372 
    327373
    328374== Kontrolni ukazi ==