petak, 17. siječnja 2014.

###############################################################
# ..// Osnove Python jezika //.. #
###############################################################
# #
# => izvuchene najbitnije stvari iz tutorijala koji #
# dolazi uz python...podrazumjeva se da vec znate #
# osnove programiranja... #
# #
# => by Mladen Kostresevic - [zevs][at][sendmail.ru] #
# #
# => ljeta gospodnjeg 2004. #
# Belgrade, SD "4.April", Vozdovac #
###############################################################
Neke osnovne informacije:
- Interpreterski jezik
- Pisan u C-u i moguce ga je prosirivati u istom jeziku
- Zastupljen na velikom broju platformi
- Komentari pocinju sa #
- Nema blokova BEGIN..END ili {...} vec se blokovi naredbi
grupisu "uvlacenjem" koda...
- Nema ; na kraju naredbe
- Source Code Encoding je moguce mjenjati..npr:
# -*- coding: iso-8859-1 -*-
- Za dodjelu vrijednosti koristi se =
- Stringovi mogu biti ograniceni sa 'moj_string' ili "moj_string"
- Viselinijski stringovi mogu biti napravljeni na dva nacina:
print "Prva linija\n\
Druga linija"
ili """Prva linija
Druga linija"""
- Moguce je indeksirati stringove, npr:
Rijec = "Masina"
Rijec[0] # je M
Rijec[0:2] # je Ma
Rijec[2:4] # je si
Rijec[:2] # prva dva karaktera
Rijec[2:] # sve osim prva dva karaktera
- moguce je koristiti negativne brojeve da bi smo indeksirali string
s desne strane:
Rijec[-1] # poslednji karakter
Rijec[-2:] # podlednja dva karaktera
- Funkcija len vraca duzinu stringa
Hint: nije dozvoljena dodjela vrijednosti nekom indeksu..npr:
Rijec[0]='M'
###############################################################
# LISTE
###############################################################
- sadrze elemente odvojene zarezom
- elementi nemoraju biti istog tipa
a = ['elemen1', 'e2', 111, 222]
svakom elementu se moze pristupiti preko indeksa
a[0] #'element1'
a[1] #'e2'
a[-2] #111
- funkcija len() moze da se koristi i na listama
- moguce je kreirati liste ciji clanovi su takodje liste:
a=[1,2,3]
b=[a,'test']
u tom slucaju pristup elementima se obavlja na sledeci nacin:
b[0][0] #1
b[0][1] #2
=============================================================
Operatori poredjenja: < > <= >= == != kao u C-u
Naredba Print:
b=1
while b<4
print b
b=b+1
... bice isprintano:
1
2
3
...ako zelimo da se sve printa u jednom redu potrebno je staviti zarez
iza print naredbe: print b,
###############################################################
# PETLJE
###############################################################
-> IF
... x = int(raw_input("Please enter an integer: "))
... if x < 0:
... x = 0
... print 'Negative changed to zero'
... elif x == 0:
... print 'Zero'
... elif x == 1:
... print 'Single'
... else:
... print 'More'
HINT: primjetiti mogucnost navodjenja vise elif komandi cime se
zamjenjuje case ili switch naredba u drugim jezicima...
-> FOR
Za razliku od Pascala gdje se iteracija obavlja pomocu brojeva, u
Pythonu se iteracija obavlja preko elemenata nekog niza(liste, stringa):
a = ['cat', 'window', 'defenestrate']
for x in a:
print x, len(x)
-> RANGE() Funkcija
ako je potrebno da se iteracija obavlja pomocu brojeva, koristi se
funkcija range() koja kreira listu ciju su elementi brojevi...
1.primjer:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2.primjer:
>>> range(5, 10)
[5, 6, 7, 8, 9]
>>> range(0, 10, 3)
[0, 3, 6, 9]
>>> range(-10, -100, -30)
[-10, -40, -70]
3.primjer:
>>> a = ['Mary', 'had', 'a', 'little', 'lamb']
>>> for i in range(len(a)):
... print i, a[i]
...
-> BREAK i CONTINUE
=========================
- break se koristi za "iskakanje" iz najblize for ili while petlje...
- continue se koristi da bi se skocilo na izvrsavanje sledece iteracije
u okviru nekog ciklusa...
PASS
=========================
ova naredba ne radi nishta..:) koristi se onda kada je radi ispravnosti
sintakse potrebno navesti neku naredbu, a program ne treba da radi nista
###############################################################
# FUNKCIJE
###############################################################
Kljucna rijec def oznacava pocetak definisanja funkcije...
def activate_bomb(x):
naredba1
naredba2
Ispod zaglavlja funkcije moguce je postaviti neku vrstu komentara, tzv.
docstring...postoje alati koji na osnovu ovih stringova prave html
dokumentaciju za svaku funkciju...ovaj docstring je ustvari samo
atribut objekta(posto su sve funkcije ustvari objekti) i njegovo
ime je __doc__:
def activate_bomb(x):
""" Ovo je opis funkcije """
naredba1
naredba2
print ime_funkcije.__doc__
- ako je potrebno da funkcija vraca neku vrijednost koristi se kljucna
rijec return
- moguce je definisati funkciju sa promjenljivim brojem argumenata...
postoji nekoliko nacina za to...najcesci je kada kreiramo funkciju i
nekim njenim argumentima dodjelimo default vrijednosti...tako definisana
f-ja moze biti pozvana sa manje argumenata nego sto je definisana...
###############################################################
# LISTE - NASTAVAK
###############################################################
Spisak metoda koje mozete koristiti sa listama:
- append(x) - dodaje novi element na kraj liste
- extend(L) - prosiruje listu sa elementima liste L
- insert(i,x) - ubacuje element x u listu..parametar i odredjuje indeks
elementa ispred koga ce se ubaciti x...
- remove(x) - uklanja prvi element iz liste koji ima vrednost x
- del lista[i] - iklanja element iz liste ciji je index i
- pop([i]) - vraca elemenat sa pozicije i + brise ga iz liste...
zagrade [] nije potrebno navoditi, one oznacavaju da
je parametar i opcionalan...znaci mozemo ga izostaviti
lista.pop() ce da vrati i izbrise zadnji elemenat liste
- index(x) - vraca indeks elementa koji ima vrednost x
- count(x) - vraca broj pojavljivanja elementa x u listi
- sort() - sortira listu
- reverse() - "obrce" listu
- filter(funkcija, lista) - vraca listu ciji su elementi oni clanovi
liste za koje je vrijednost f-je true
>>> def f(x): return x % 2 != 0 and x % 3 != 0
...
>>> filter(f, range(2, 25))
[5, 7, 11, 13, 17, 19, 23]
- map(funkcije, lista) - poziva se funkcija za svaki od elemenata liste
i vraca se lista ciji su elementi vracene
vrijednosti funkcije
>>> def cube(x): return x*x*x
...
>>> map(cube, range(1, 11))
[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]

0 komentari:

Objavi komentar