Changes between Version 83 and Version 84 of python


Ignore:
Timestamp:
Oct 17, 2015, 6:00:26 PM (5 years ago)
Author:
mprotic
Comment:

Dodano poglavje o stringih

Legend:

Unmodified
Added
Removed
Modified
  • python

    v83 v84  
    165165Poznamo še druge vrste operatorjev:
    166166 - Prireditveni operatorji ( +=, -=, /=, ...)
    167  - Boolovi operatorji (True/False)
    168  - Primerjalni opearatorji (==, !=, <, >, >=, <=)
     167 - Boolovi operatorji (not, and, or, is, ... )
     168 - Primerjalni operaratorji (==, !=, <, >, >=, <=)
    169169{{{
    170170#!python
     
    212212}}}
    213213
     214
     215== STRINGI ==
     216Stringi so, skupek znakov ujeti med enojne ali dvojne narekovaje.
     217
     218=== Združevanje stringov ===
     219V angleščini, združevanje stringov z operatorjem "+" imenujemo "concatenation".
     220{{{
     221#!python
     222hello = "Hello"
     223world = 'World'
     224
     225hello_world = hello + ' ' + world
     226print(hello_world)
     227}}}
     228
     229=== Multiplikacija stringov ===
     230Python pozna množenje stringov s številom. na tak način multipliciramo string poljubno-krat.
     231{{{
     232#!python
     233hello = "hello"
     234ten_of_hellos = hello * 10
     235print(ten_of_hellos)
     236}}}
     237
     238=== Indeksiranje stringov ===
     239Do 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
     242python = "Python"
     243print("h " + python[3])     # Opomba: indeksiranje stringa se prične z 0
     244
     245p_crka = python[0]
     246print(p_crka)
     247}}}
     248
     249V 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
     252dolg_string = "This is a very long string!"
     253klicaj = long_string[-1]
     254print(klicaj)
     255}}}
     256
     257=== Rezanje stringa (ang. "slicing") ===
     258Rezanje strnga uporabljamo zato, da bi iz stringa dobili poljubni skupek znakov. Sintaksa rezanja je podobna tisti od indeksiranja.
     259{{{
     260#!python
     261x = "Monty Python"
     262monty = x[:5]      # ta zapis je enak x[0:5]. Torej, tako 1., kot tudi 2. indeks lahko izpustimo
     263print(monty)
     264
     265python = x[6:]
     266print(python)
     267}}}
     268
     269=== "in" operator ===
     270Da bila lahko preverili, če neki string vsebuje specifični znak/črko/podstring uporabljamo omenjeni operator.
     271{{{
     272#!python
     273x = "ime spremenljivke"
     274print("ime" in x) # Izpise direktno boolovo vrednost izraza
     275
     276y = "spremenljivke" in x
     277print(y)
     278}}}
     279
     280=== Funkcija "len()" ===
     281Funcijo len() uporabljamo, da bi ugotovili koliko znakov poljubni string vsebuje.
     282{{{
     283#!python
     284# -*- coding: utf-8 -*-
     285# Izpis prve polovice stringa x
     286
     287x = '''
     288To je zelo dolg string,
     289katerega omejujejo trojni
     290narekovaji
     291'''
     292
     293print(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 ===
     298Z znakom "\" (backslash) lahko narekovaje uporabimo le kot neki znak, kjer nas njihova funkcija, da definirajo string ne "omejuje" več.
     299{{{
     300#!python
     301print('The name of this ice-cream is "Sweeet\'n\'Tasty"')
     302}}}
     303
     304=== Osnovne metode s stringi ===
     305Python 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.
     306Mogoč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 -*-
     310monty_python = "Monty Python"
     311print(monty_python)
     312
     313print(monty_python.upper())    # Primer, kako lahko osnovni string
     314                               # zapišemo z velikimi črkami
     315print(monty_python[3].lower())
     316}}}
     317
     318=== Formatiranje stringa ===
     319Da bi lahko združevali string s spremenljivkami oz. njihovimi vrednostmi uporabljamo "%" operator (v ang. "modulo" operator).
     320{{{
     321#!python
     322x = 8
     323y = 8.77
     324ime = "Andrej"
     325print("%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}}}
    214327
    215328== Kontrolni ukazi ==