[python] dokumentace k novejsim rysum jazyka

David Rohleder davro na ics.muni.cz
Pátek Březen 5 12:40:29 CET 2010


matesfila píše v Pá 05. 03. 2010 v 11:11 +0100:
> No tak v dokumentácii je tento jav spomenutý, že pri vytváraní generátoru
> v argumente funkcie netreba uvádzať zátvorky.
> 
> Píše sa o tom tu:
> 
> http://docs.python.org/3.1/reference/expressions.html#generator-expressions
> 
> Posledná veta toho odstavca znie:
> 
> "The parentheses can be omitted on calls with only one argument."
> 
> Inak generátory sú celkom dobre popísané aj v tutoriály pre funkcionálne
> programovanie:
> 
> http://docs.python.org/3.1/howto/functional.html
> 
> Treba dávať trochu bacha na rozdiely medzi verziami pythonu - ak používaš
> staršiu verziu ako 3.1, nájdi si príšlušnú dokumentáciu pre tú verziu.
> 
> Inak by ma zaujímalo, či si sa nad týmto javom pozastavil z dôvodu
> nejakého vyššieho filozofického princípu, že prečo je to tak, alebo si
> proste iba nečítal dokumentáciu :-)

Já jsem se učil python poměrně dávno, takže na nové rysy jsem nenarazil.
Nicméně ani v nových knížkách o těchto věcech není moc řeč.

Co se týká zrovna této záležitosti, tak filosoficky ( :-) ) mám proti
tomuto asi následující:

Měli by si rozmyslet, jestli bude generátor samostatná lexikální
jednotka a pak s tím tak důsledně zacházet. To zrušení závorek, pokud
tam už jedny jsou mně připadne jako děsná prasárna. Buď to můžu psát bez
závorek, ale všude, nebo to musím psát se závorkama, taky všude. Takto
je to hnusně chaotické.

Takže buď připustit a=i*i for .... nebo zrušit možnost sum(i*i for... )

Číst dokumentaci v PEP mně připadne už přílíš hardcore, protože vnitřní
implementace v C mne v podstatě nezajímá a ostatní třeba knihy to už moc
nepopisují.

Když jsem si třeba četl nějaké změny ve verzích, tak v těch novějších se
třeba ruší dekorátor @, přičemž ten se vyskytl až v 2.4 a ve 2.6 už je
pomalu obsolete. Takové věci mne celkem štvou.

Jinak díky za zajímavé odkazy.

D.


> 
> M.
> 
> David Rohleder  wrote / napísal(a):
> >>>> sum(i**i for i in range(10))
> >
> > tady mně to prostě uniká - když závorky patří funkci sum, tak vnitřek by
> > měl být uzavřený do závorek taky.
> >
> > D.
> 
> 
> 
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python




Další informace o konferenci Python