Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Python OOP pomoc

[es] :: Python :: Python OOP pomoc

[ Pregleda: 3939 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

PanikA94
Mostar

Član broj: 312435
Poruke: 6
*.tel.net.ba.

Sajt: dev.ba


Profil

icon Python OOP pomoc21.02.2013. u 20:24 - pre 135 meseci
Naucio sam osnove Pythona , jako lagan jezik ali sam zapeo na djelu OOP-a
Procitao sam mnogo texta o tome , ali nikako da svatim , sad jesam li glup ili je to stvarno tesko ne znam .

Kao sto nalazu pravila foruma da se pogleda forum prije nove teme , to sam i ucinio
Nakon 25 minuta pretrage foruma naisao sam na sto sam trazio , međutim ni to mi ne pomaze

Znam da vas iritira ponovno otvaranje vec otvorene teme ja vas molim za pomoc.
Moze li mi netko da objasni na jako jako jednostavnim skipti sta je sta
Ovaj forum mi je zadnja nada , ukoliko ne dobijem odgovor koji ce mi da pomogne odustajem od Pythona

Hvala unaprijed .
PanikA
 
Odgovor na temu

fimalbonegaculo
product development, team lead,
developer, sys-admin
beograd

Član broj: 395
Poruke: 161
*.ntlworld.ie.

ICQ: 81662016


+1 Profil

icon Re: Python OOP pomoc21.02.2013. u 20:36 - pre 135 meseci
Niko ti ne može odgovoriti na tako pošte pitanje.

Pokušaj postaviti konkretno pitanje na datu temu -- OO koliko razumem.

Daj primjer koda koji si probao i koji ti nije jasan i sta ti u istom nije jasno...

Tada ce neko moći da ti konkretnije pomogne.

Glup nisi, samo budi konkretniji ;)

Opušteno...
"if you fail to plan, you plan to fail"
 
Odgovor na temu

PanikA94
Mostar

Član broj: 312435
Poruke: 6
*.tel.net.ba.

Sajt: dev.ba


Profil

icon Re: Python OOP pomoc21.02.2013. u 22:29 - pre 135 meseci
Nisi me bas najbolje razumio prijatelju .

Vidis kad ljudi nesto pokusavaju da objasne oni ne kontaju da trebaju ici na naj naj najjednostavniji nacin
Međutim oni urade malo teže samo da ispadnu pametni .

Ako znas Python , napravi mi jednu najobicniju klass-u i napisi nesto ko da pises maloj bebi da razumijem nekako
Onda kreni na ove objekte etc

Ne moras mi roman pisat samo 4 reda da skontam barem malo .
Ja sam primjer pratio od thenewboston tutorial .
PanikA
 
Odgovor na temu

zema
hamburg

Član broj: 20112
Poruke: 71
*.cpe.vektor.net.



+6 Profil

icon Re: Python OOP pomoc22.02.2013. u 13:52 - pre 135 meseci
skini, besplatnu, knjigu odavde

http://www.greenteapress.com/thinkpython/

i pogledaj poglavlje o klasama

 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: Python OOP pomoc23.02.2013. u 10:00 - pre 135 meseci
Citat:
PanikA94:
Nisi me bas najbolje razumio prijatelju .

Vidis kad ljudi nesto pokusavaju da objasne oni ne kontaju da trebaju ici na naj naj najjednostavniji nacin
Međutim oni urade malo teže samo da ispadnu pametni .

Ako znas Python , napravi mi jednu najobicniju klass-u i napisi nesto ko da pises maloj bebi da razumijem nekako
Onda kreni na ove objekte etc

Ne moras mi roman pisat samo 4 reda da skontam barem malo .
Ja sam primjer pratio od thenewboston tutorial .


Kontam da tebi treba malo uvoda u objektno orjentisano programiranje uopšte, ne mora biti u kontekstu python-a, ali evo ti mali primer, kao što si tražio.

Ako si se već upoznapo sa python-om kontam da su ti poznati koncepti funkcije, promenljive, itd. tako da se tu neću zadržavati.
U objektnom programiranju se stalno vrte dva koncepta: klasa i instanca klase. Klasa ti predstavlja model nečega iz stvarnog sveta, a instanca klase predstavlja jedan konkretan primerak toga. Na primer, napraviš klasu (model) čoveka i onda praviš instance za svakog konkretnog čoveka koji je predmet interesovanja.
Code (python):

class Man(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def say_hello(self):
        print 'Hello %s, your age is %d' % (self.name, self.age)

panik = Man('panik', 19)
delboy = Man('del-boy', 26)
panik.say_hello()
delboy.say_hello()
 


Ovde je napravljena klasa Man koja može predstavljati bilo koga. Napravljena su dva primerka (instance) klase Man (panik i delboy) koji predstavljaju konkretne osobe. Klasa Man ima metodu say_hello. Metodu možeš posmatrati kao običnu funkciju koja uvek kao prvi parametar dobija primerak klase Man sa kojom radi (tradicionalno se ovaj parametar zove self) i pomoću njega može da pristupi podacima konkretne osobe. U ovom slučaju say_hello pristupa atributima name i age konkretnog primerka klase Man nad koji je pozvana.

Ovo je neki minimum minimuma, za detalje zašto postoji __init__ metoda (i koje još korisne metode postoje), zašto stoji ono object na početku moraš malo više sa teorijom da se upoznaš.

U svakom slučaju, nemoj odustati. Negde sam pročitao da je objektno programiranje kao pivo, ispočetka je svima gorko i gadno ali ga piju jer ga svi piju, ali nakon nekog vremena ne znaš kako si mogao bez njega na početku :)

Postavi konkretna pitanje ako nešto nije jasno, dosta je nezahvalno pisati ovako uopšteno.
 
Odgovor na temu

PanikA94
Mostar

Član broj: 312435
Poruke: 6
*.tel.net.ba.

Sajt: dev.ba


Profil

icon Re: Python OOP pomoc23.02.2013. u 14:49 - pre 135 meseci
del-boy mislim da sam skontao na tvom primjeru ali text nisam , samo zasto kod funkcije stavljas __init__ kad mozes nesto jednostavnije ili to treba tako da bude ?

Sad sam skontao za sta nam sluzi "self" jako dobar primjer zagolicao si mi mozag :)
PanikA
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: Python OOP pomoc23.02.2013. u 14:58 - pre 135 meseci
U python-u metode (ili atributi) koje počinju i završavaju sa dva underscore-a su specijalne metode. Možda si se već sreo sa njima (na primer svaki objekat ima __doc__ atribut koji sadrži dokumentaciju za taj objekat ako si je napisao). __init__ je samo još jedna od tih specijalnih metoda. Mogao si primetiti da nigde nisam pozvao __init__, ali on je svejedno izvršen, jer sam u njemu postavio vrednosti za name i age. Python će uvek pozvati __init__ nakon što se primerak klase kreira i kao parametar će mu proslediti kreiranu instancu (self) i sve parametre koji su prosleđeni za kreiranje klase (u primeru su to imena i godine). init je skraćeno od initialization, pa se ta metoda za to i koristi.

Dodaj neke print naredbe u __init__ i say_hello metode da ti ispisuju razne stvari, pa gledaj šta dobiješ na izlazu. Na taj način ćeš skontati šta se kad poziva ako nisi siguran.
 
Odgovor na temu

vukasin0
Vukasin Nikodijevic
Beograd

Član broj: 15203
Poruke: 94
95.180.46.*



+1 Profil

icon Re: Python OOP pomoc23.06.2013. u 11:03 - pre 131 meseci
Da ne bih napravio istu gresku kada sam ucio PHP OOP, gde sam krenuo sa prostim primerima i na kraju zavrsio kao Google PHP Programer, sto iskreno mrzim, sa Python-om sam krenuo od pocetka i stalozeno citao knjigu:

http://www.diveintopython.net/

Svako ko procita ovu knjigu nece imati nijedno pitanje na forumu vezano za sintaksu i osnovne principe. Ovde je sve do tancina objasnjeno bez velikih komplikacija.

Ako se ucenje bazira samo na primerima i nesto malo teorije - nije dobro - tu se izostavlja dosta bitnih detalja koji izgledaju nebitno u samom startu medjutim, ko ne plati na mostu 1 dinar platice 10 na cupriji :)

 
Odgovor na temu

[es] :: Python :: Python OOP pomoc

[ Pregleda: 3939 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.