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 > [email protected] > http://www.py.cz/mailman/listinfo/python _______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
