3 Zalety Pythona

W Pythonie jest parę spraw które oceniam jako fajne przesiadając się z języka czysto obiektowego. Przedstawię poniżej 3 które najbardziej mnie natchnęły w mojej krótkiej przygodzie z Py : yield, pliki, mapy i jsony.

Yield

Bardzo podoba mi się oszczędne podejście Pythona do tematu kolekcji. Nie ma sensu tworzyć list tymczasowych jeśli i tak zaraz je zniszczymy. Np w poniższym przykładzie robimy sok. Sok z pomarańczy. Wyciskamy je po kolei. Nie ma potrzeby filtrowania wcześniej kolekcji tak by ją przekazać do wyciskarki. Można by to rozwiązać oczywiście poprzez list comprehension. Ale tutaj chcę zaznaczyć rozwiązanie yield.

A oto wynik wykonania na moim (i każdym?) komputerze

Pętla kończy się dopiero po ostatniej iteracji. Ale generator zwracał dane już wcześniej! Dzięki czemu udało nam się go przekazać do funkcji oczekującej listy. Iterator przeiterował jak trzeba. I udało się!

Pliki

Za każdym razem jak próbuję czytać pliki w Javie spoglądam do dokumentacji. Jak to było z tymi czytaczami? Czy muszą być buforowe? W Pythonie rzecz wydaje się jasna: mamy funkcję open która to wszystko załatwia. Jak poniżej:

Wciąż urzeka mnie prostota takiego rozwiązania. Nie ulega wątpliwości : język wprost stworzony do zadań skryptowych.

Mapa : Json/Dict

Deklarując mapę chcę być wolny. Chcę tworzyć klucze wygodnie i szukać po nich jak mi się podoba. Chcę łatwo zapisać mapę do pliku! Powyższe żądania spełnia Python. Przykład poniżej.

W powyższym przykładzie utworzyłem sobie mapę angielskich cyfer na chińskie – a co! – i bez trudu wyeksportowałem ją do JSONa. Takiego JSONa łatwo prześlesz dalej albo wystawisz na web, zapiszesz do pliku. Super miło i przyjemnie.

  • Jeśli chodzi o pliki, to nie jest to jedyne rozwiązanie w Pythonie, ale jeśli uważasz to za proste, to polecam poszukanie i innych rozwiązań, i zobaczenia, jak można to zrobić w Perlu. 😉

    JSON to tylko notacja, podobnie jak YAML (polecam, prostszy). Faktem jest, że w środowisku Pythonowym są popularne, ale tak naprawdę są niezależne od języka.

  • Łukasz Kuczyński

    Podlinkuj perla chętnie zobaczę. Moja dzika radość wynika z przesiadki z Javy :). Dzięki za uwagę