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

Python i njegovi izuzeci

[es] :: Python :: Python i njegovi izuzeci

[ Pregleda: 3730 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.et.tudelft.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Python i njegovi izuzeci03.03.2004. u 19:37 - pre 195 meseci
Code:

 result = self.cursor.fetchone()

Funkcija fetchone() vraća tuple koji, igrom slučaja sadrži samo jedan element; dakle vidi se kao, npr. (6L,). Zanimljivo je da:
Code:
result[0]

radi, a da
Code:
self.cursor.fetchone()[0]


ne radi, odnosno daje not subscriptable  izuzetak, iako bi po svoj prilici te dve stvari trebale da daju istovetan rezultat 6L. Zašto je to tako?

f

 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13643



+157 Profil

icon Re: Python i njegovi izuzeci03.03.2004. u 20:01 - pre 195 meseci
Zato što je to jezik za zezanje i pravljenje prototipa programa na brzinu, pa se to posle napiše u nečem ozbiljnom poput perla da radi kako valja.

grmbh
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.et.tudelft.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Python i njegovi izuzeci03.03.2004. u 20:08 - pre 195 meseci
"Gojko Vujovic" wrote:
Citat:
Zato što je to jezik za zezanje i pravljenje prototipa programa na brzinu, pa se to posle napiše u nečem ozbiljnom
Aaaaaa... sad je meni jasno!

f

p.s. Naravno na ovu poruku odgovaram samo da bih video šta će news server da uradi s njom...

f

 
Odgovor na temu

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Re: Python i njegovi izuzeci04.03.2004. u 14:07 - pre 195 meseci
Zanimljivo, kod mene radi korektno.
Code:

db=MySQLdb.connect(...)
...
c=db.cursor()
c.execute("""SELECT ...""")
print c.fetchone()[0];

Pretpostavljam da ti je self.cursor isto što i kod mene c?
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.decis.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Python i njegovi izuzeci04.03.2004. u 17:08 - pre 195 meseci

Citat:
Zanimljivo, kod mene radi korektno
Čini mi se da nisi razumeo o čemu se radi; moguće da nisam dovoljno naglasio. Upit u SQL bazu radi i to uopšte nije predmet pitanja.

Ali u slučaju da postoji samo jedan ulaz u tabelu, dakle kad je rezultat oblika (ulaz,), on se ne može pokupiti direktno referenciranjem nultog elementa tabele, već se prvo taj rezultat mora  proslediti u promenljivu.

Code:
a = self.cursor.fetchone()[0] 
 

ne radi ali zato ovo radi:

Code:
var = self.cursor.fetchone()
 a = var[0]  


iako je kod ekvivalentan. Napominjem da se ovo dešava samo kad upit proizvede tabelu dužine 1. Ako tabela ima dužinu 2 ili više, gornje dve stvari rade istovetno.

f

 
Odgovor na temu

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Re: Python i njegovi izuzeci04.03.2004. u 18:53 - pre 195 meseci
Da, u pravu si - promakao mi je ovaj uslov 'jedan ulaz u tabelu'.

U svakom slucaju, kad sam promenio SELECT da radi upit po jednoj koloni (dakle fetchone() vraca tuple sa jednim elementom) i dalje je radilo c.fetchone()[0],
a radilo je i kada sam upit ogranicio da daje samo jedan red tabele, kao i kad sam c stavio da bude promenljiva instance klase.

Mozda je razlika u verziji python-a - kod mene je 2.2.1 na Linux-u.

Inace, kod gore sam naveo da pokazem kako sam dosao do promenljive c - ne poznajem dovoljno python tako da nisam siguran da se do kursora ne moze doci na neki drugi nacin.
 
Odgovor na temu

[es] :: Python :: Python i njegovi izuzeci

[ Pregleda: 3730 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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