Nie dziwię się, że PEP 572 wywołał takie kontrowersje. Kurde przypisywanie zmiennych w wyrażeniu logicznym? Zmniejsza to czytelność i będzie to przyczyną głupich błędów. Python zmierza w kierunku języka śmietnika w którym będzie coraz więcej dziwactw. Nie podoba mi się ten kierunek i słusznie poszła zjebka
You are viewing a single comment's thread from:
nie zgadzam się, w niektórych miejscach faktycznie upraszcza to kod i poprawia jego czytelność
filtered_data = [(y := f(x)) for x in data if y is not None]
znacznie czystsze jak dla mnie i lepsze, niż alternatywa bez operatora
inny przykład:
stuff = [[y := f(x), x/y] for x in range(5)]
albo to:
while (value := read_next_item()) is not None:
Wydaje mi się, że te zapisy są piękne
teraz będą dwa syntaksty do przypisywania zmiennej = i := oba kontekstowe, których nie można stosować zamiennie. czyli mamy dwa operatory które robią to samo, ale raz trzeba stosować notację typowo programistyczną do przypisywania, a raz matematyczną. Kto o zdrowych zmysłach to przepuścił?
I nie uważam żeby przykłady które podałeś wyżej były czytelne. Czytelność nie polega na tym, że wszystko robisz one linerem który jest zrozumiały po dokładniejszym spojrzeniu i to tylko dla osób które dobrze znają język. Czytelny kod to taki który bez problemu rozszyfrowałaby osoba z innego kręgu albo junior
No cóż, możemy się w takim razie zgodzić w tym, że się nie zgodzimy haha :D