We wpisie https://www.mobilo24.eu/python-debugger-…k-postac-znakowa/ pokazywałem w jaki sposób debugować kod w Jupyter Notebook z wykorzystaniem starego znakowego debugera pdb. Teraz pora na bardziej klikalne rozwiazanie. Zaczynamy od zainstalowania pakietu pixiedust. W tym celu w anaconda prompt wykonaj polecenie: pip install pixiedust Teraz już w Jupyter Notebook należy załadować moduł odpowiedzialny za debugowanie: import pixiedust Kiedy chcesz rozpocząć debugowanie […]
Archiwum dla kategorii ‘Python’
Python: Debugowanie graficzne w Jupyter Notebook
Python: Dynamiczne tworzenie zmiennych w kodzie
W Pythonie występuje funkcja globals(), która zwraca tablicę przechowującą wszystkie zmienne sesji. Kiedy chcesz utworzyć nową zmienną, możesz po prostu dodać nowy element do tej listy for i in range(0, 3): globals()[’var_{}’.format(i)] = i * 100 print(var_0, var_1, var_2) Tutaj przechodzimy pętlą for przez kod 3 razy i tworzymy zmienne o nazwach var_0, var_1 i […]
Python – kiedy używać finally w try/except?
Odpowiadając krótko – wtedy kiedy chcesz mieć pewność że jakieś instrukcje wykonają się NA PEWNO i ZAWSZE. Nawet w bardzo dziwnych i nietypowych sytuacjach. Zazwyczaj np. uważamy, że kod w funkcji po słowie return się nie wykona: def DoSomething(a,b): c=a+b return c c=3+3 return c DoSomething(1,1) i rzeczywiście tak jest: Out[66]: 2 Ale kiedy popatrzysz […]
Python: Debugger w Jupyter Notebook – postać znakowa
Programista bez debuggera, to jak mechanik bez klucza… to trzeba mieć! Ostatnio bardzo popularnym narzędziem do tworzenia skryptów w Pythonie jest Jupyter Notebook. Niestety domyślnie menu nie ma polecenia debug… o ile w pojedynczych komórkach po prostu wykonujesz mało skomplikowane polecenia, to ewentualne dodanie polecenia print powinno pomóc i rozwiązać problem. Co jednak zrobić jeżeli […]
Python: if w postaci jednej linijki nie działa z pass
W Pythonie wyrażenie if można zapisać w postaci jednolinijkowca: expr1 if cond else expr2 Jednak łatwo wpaść w pułapkę. Takie wyrażenie zadziała: print(price-bonus) if bonus_granted else print(price) ale już takie nie: print(price-bonus) if bonus_granted else price = 200 print(price-bonus) if bonus_granted else pass Ale po kolei: price = 10 bonus = 1 bonus_granted = True A teraz odpowiadając na […]
Python: przypisanie wartości w słowniku a metoda setdefault
Popatrz – wynik obu skryptów jest taki sam: country_leader = { 'DE’ : 'Merkel’ , 'PL’ : 'Szydlo’} country_leader[’FR’] = 'Macron’ print(country_leader) country_leader = { 'DE’ : 'Merkel’ , 'PL’ : 'Szydlo’} country_leader.setdefault(’FR’,’Macron’) print(country_leader) dlaczego? Bo 'FR’ na oryginalnej liście nie było. Zarówno przypisanie, jak i setdefault dodaje nowy kraj z jego leaderem. Ale w […]
Python: Pandas: Pobranie pliku csv spakowanego gzip i import do data frame
Python ma całe mnóstwo modułów, które pozwalają na wykonywanie prawie wszystkich operacji (no bez przesady, ale sporo można zrobić)! Mamy moduł: requests – do wykonywania operacji na stronach webowych gzip lub zip – do kompresji plików (lub ogólniej danych) io – do wykonywania operacji wejścia wyjścia pandas – do przetwarzania danych Jeśli dobrze się postarać […]