[python] inline if
Michal Molhanec
molhanec na seznam.cz
Pátek Březen 7 23:19:15 CET 2008
Dusan Zatkovsky napsal(a):
> Ach, ruky su zase rychlejsie, ako hlava.
>
> Samozrejme na syntax X or Y som narazil, ale ja to mam este okorenene takto:
>
> d = { 'foo': 1, 'faa': 2 }
>
> x = d['foo'] or 1
> y = d['faa'] or 2
> z = d['neexistujuci_index'] or 3
>
> Na tom 'z' to samozrejme raisne KeyError. Preto sa pytam, ci existuje nejaka
> moznost zapisat to inline, pretoze to chcem pouzit vo volanii funkcie.
>
> # takto teda nie :o)
> x = callSomeFunction ( d['foo'] or 1, d['faa'] or 2, d['neexistujuci_index']
> or 3 )
misto d['klic'] pouzijte d.get('klic'), to v pripade neexistence klice
vrati None, coz se vyhodnoti jako nepravda
Další informace o konferenci Python