Jak czytać zagnieżdżone list comprehensions

Każdy kto programuje w Pythonie z pewnością szybko przekonał się do zalet tzw. list comprehensions. Ten sposób tworzenia list jest nie tylko zgodny z filozofią języka, ale przede wszystkim zgrabny, krótki i czytelny. Czasami jednak zdarza się spotkać konstrukcje, które na pierwszy rzut oka wcale takie czytelne nie są. Przykładem niech będzie fragment, na który natknąłem […]

Read More

Pattern matching w Pythonie

W dniu dzisiejszym ukazała się kolejna (szósta już) wersja alpha Pythona 3.10, wprowadzając tym samym dość przełomową dla tego języka funkcjonalność – dopasowywanie wzorca (ang. pattern matching). Specyfikacja tej funkcjonalności zawarta jest w PEP 634, zaś dokumenty PEP 635 oraz PEP 636 zawierają odpowiednio uzasadnienie dokonanych zmian oraz tutorial dla programistów. W tym wpisie przyjrzymy […]

Read More

Przetwarzanie dużych JSONów w Pythonie

Jak w Pythonie odczytać dane z pliku w formacie JSON? Użyć modułu json! – odpowie zapewne spora część pythonistów. I chociaż bardzo często odpowiedź taka jest wystarczająca, niekiedy na horyzoncie pojawiają się problemy, w których zdecydowanie lepiej skorzystać z innych rozwiązań. Jednym z nich jest ijson, czyli iteratywny (ang. iterative) parser plików JSON. Na czym polega […]

Read More

Guietta – sposób na proste GUI w Pythonie

W swoim programistycznym życiu napisałem przy użyciu frameworka Qt tysiące linii kodu. Przygodę z nim zacząłem od jego naturalnego środowiska, jakim jest język C++. Później zaś, gdy przerzuciłem się na Pythona, miałem okazję stworzyć całkiem sporo aplikacji, wykorzystując do tego PyQt. Używając zwrotu „napisałem w Qt” mam na myśli nie tylko posługiwanie się najróżniejszymi klasami, […]

Read More

Testy w tawernie

Co można robić w tawernie? Pić, jeść, słuchać opowieści starych marynarzy lub… testować API! Jeśli wykonywanie tej czynności w portowej karczmie wydaje się Wam zaskakujące, to najwyraźniej nie słyszeliście jeszcze o pythonowym frameworku Tavern, służącym właśnie do testów API. To zaś oznacza, że prawdopodobnie warto poświęcić krótką chwilę na lekturę niniejszego wpisu. Załóżmy, że chcemy przetestować […]

Read More

Czy w Pythonie może wyciekać pamięć?

Niedawno ktoś zadał mi pytanie: „czy w Pythonie może w ogóle wystąpić memory leak?„. Postanowiłem nieco przyjrzeć się temu tematowi i sprawdzić jak dużo pułapek dotyczących zużycia pamięci czeka na nas w tym języku. Wiele osób jest przekonanych, że wbudowane w Pythona mechanizmy są w stanie zawsze ustrzec programistę przed wyciekaniem pamięci. Czy jest tak […]

Read More

AIML, czyli piszemy gadającego bota

Zapewne większość korzystających z internetu osób ma jakieś doświadczenia dotyczące rozmów z botami (mówiąc dokładniej – chatbotami – tak bowiem określa się aplikacje prowadzące rozmowy z ludźmi). Swego czasu popularny w polskiej sieci był program Infobot – można było korzystać z niego m.in. za pośrednictwem Gadu-Gadu, a swój ponad 10-letni żywot zakończył niespełna 2 lata temu. […]

Read More