[python] Python a xml

Zdenek Pavlas pavlas na nextra.cz
Středa Srpen 17 14:46:47 CEST 2005


Michal Koudelka wrote:

> .. trakze muzes mit konstrukci
> 
> metoda param1, param2, param3
> 
> Zavorky se vetsisnou pouzivaji jen u slozitejsich matematickych vyrazu.

Myslel jsem slozene zavorky u bloku- Pythonske otevirani
a ukoncovani bloku pomoci zmeny odsazeni je genialni a velmi
citelne.  Slozene zavorky jsou zbytecne smeti, Ruby je bohuzel
opravdu hodne svihnutej do Per^H^H^Hvsak-vite-ceho.

>  V ruby nemusim psat v kazde metode jako parametr self

Ano, deklarovat metodu jako M(A,B,C), a volat ji jako A.M(B,C)
je hodne nekonzistentni.  Naopak explicitne uvadet self v kodu
metody je ohromne plus.

V C++ byla vzdy katastrofa pochopit trivialni kousek kodu
bez predchoziho nastudovani vsech spagetoznich headeru,
okorenenych ruznymi #ifdefy.

 > a iteratory ma vyresene opravdu luxusne... priklad:
> array = [1,2,3,4,5,6]
> array.each { |value| puts value}

Jenze tohle *neni* iterator, ale pouhy callback.
Je to funkcne identicke s pythonovskym:

import sys
def each (list, code):
	for i in list:
		code (i)

array = [1, 2, 3, 4, 5, 6]
each (array, lambda value: sys.stdout.write ('%d\n' % value))

Takze iteratory Ruby vubec nema? Myslim neco jako:

 >>> array = [1,2,3,4,5]
 >>> i = iter (array)
 >>> i.next ()
1
 >>> i.next ()
2
 >>> list (i)
[3, 4, 5]

Ne ze by to k necemu bylo dobre, obvykle chce clovek
vsechny elementy zpracovat stejnym blokem kodu, takze
callback staci.

--
Zdenek



Další informace o konferenci Python