Python posiada składnię "conditional expression". Pamiętacie taką śmieszną strukturę (warunek) ? jezeli_true : jezeli_false ?
W Pythonie przyjmuje ona formę (na przykład):
'parzyste' if x % 2 == 0 else 'nieparzyste'
To co kole mnie w oczy to fakt iż po warunku na if nie ma dwukropka, ale odrazu else. Jak ta struktura działa ? Jeżeli warunek w ifie jest spełniony zostanie zwrócona wartość 'parzyste', jeżeli nie 'nieparzyste'. Zwróconą wartość można przyporządkować łatwo do zmiennej. Na przykład
liczba = 4
czy_parzyste = 'parzyste' if liczba % 4 == 0 else 'nieparzyste'
czy_parzyste = ('parzyste' if liczba % 4 == 0 else 'nieparzyste')
O dziwo zarówno pierwszy jak i drugi zapis działają tak samo. Zmienne czy_parzyste zostanie nada wartość 'parzyste' lub 'nieparzyste', przy czym IMHO drugi zapis jest o niebo czytelniejszy !
1 comment:
Jest jeszcze konstrukcja:
x = a and b or c
Ale jest mniej uniwersalna
z powodu jej ograniczeń.
Post a Comment