Както сигурно знаете, в Python писането на тернарен условен преход ternary-if е доста дълъг процес
<cmd A> if <condition> else <cmd B>
докато във всички останали езици обикновено е
<condition> ? <cmd A> : <cmd B>
Това несъмнено е по-грозен и труден за четене начин, но всички са му свикнали – условие, първа команда, втора команда.
Наскоро видях един друг похват използван в два различни плъгина за Django (единият беше south, другият не помня).
<condition> and <cmd A> or <cmd B>
В първите 2 минути като видях този начин на изписване бях доста учуден. Вероятно всеки би бил и вероятно този запис е в пъти по-нечетим от стандартния тернарен-if, но въпреки всичко се доближава повече до обикновения тернарен оператор и сигурно е по-лесен за възприемане от хора с опит в други езици.
May 27th, 2011 10:07
Малко trivia:
Тая гнусотия с
and/or
я писахме по-рано, когато нямаше тернаренif
. Той се появи в Python 2.5. Има PEP по въпроса.May 27th, 2011 10:08
Хм. Ето втори опит:
Тая гнусотия с and/or я писахме по-рано, когато нямаше тернарен if. Той се появи в Python 2.5. Има PEP по въпроса.
May 27th, 2011 12:40
Хм, не ми хрумна, че причините са исторически.