[python] inline if

superman feed na centrum.cz
Sobota Březen 8 14:13:26 CET 2008


Já bych řekl tak, syntaxe přirozená lidské řeči už tu byla - byl to 
jazyk, který se jmenoval COBOL, a nepřejte si v něm programovat, je to 
děs a hrůza. A taky tam vznikaly podobné patvary jako právě v 
Pythonovském "if přiřazení". Pro ilustraci, copak asi dělá - samozřejmě 
v přirozené lidské řeči tento COBOLovský zápis:

MOVE X TO Y ADD BALANCE TO OLDTOTAL GIVING NEWTOTAL

Odpovědi prosím obratem :-) A komu se tento zápis bude líbit více 
namísto klasického programátorského, nechť napíše Guidovi. :-)

Jinak Céčkový zápis podmíněného přiřazení je prudce čitelnější, než ten 
Pythonovský ve 2.5 verzi. On totiž programovací jazyk není, nebyl a 
nikdy nebude lidská řeč a bude se řídit jinými pravidly. A po 
experimentu s COBOLem (který mimochodem existuje dodnes, a pokud ho 
znáte, můžete si vydělat obrovské peníze, protože je to bussiness jazyk) 
už i největší naivové pochopili, že přizpůsobovat programovací jazyk 
lidské řeči je ta největší pitomost.

Miloslav Ponkrác


> Od verze 2.5 muzes napsat
>
> a = b if b != 0 else 10
>
> syntaxe je jina, nez v C, ale podle Guida by mela byt prirozenejsi lidske 
> reci:
>
> do a uloz hodnotu b, pokud je b ruzne od nuly, jinak 10
>
> vice o teto funkci je v PEP 308
> http://www.python.org/dev/peps/pep-0308/
>
> Shrnuti verze 2.5 je na
> http://www.abclinuxu.cz/serialy/novinky-v-python-2.5 (reklama :))
> http://docs.python.org/whatsnew/whatsnew25.html
>
>
>   



Další informace o konferenci Python