W Pythonie występują typy mutable i immutable. Immutable – niezmienne – typy takie jak int, float, bool, str. Zmienna wskazuje na komórkę w pamięci, ale kiedy do tej zmiennej wstawiasz nową wartość, to dla zmiennej rezerwuje się nową komórkę i tam przechowuje się jej wartość. Funkcja id() pozwala zmieniać adres tej komórki. W skrypcie poniżej […]
Archiwum dla kategorii ‘Python’
Python: typy mutable, immutable i metoda copy()
Python: Pycharm – wyświetlanie dużych DataFame ze wszystkimi kolumnami bez kropek
Kiedy pracujesz z dużymi danymi w Pycharm, chcesz zwykle zobaczyć, co w tych danych się znajduje. Najprościej to zrobić wyświetlając DataFrame na ekranie. Niestety, jeśli obiekt ma wiele kolumn to domyślnie zostanie wyświetlonych tylko kilka a między nimi pojawi się symbol trzech kropek mówiący o tym, że nie wszystko się zmieściło. Podobnie kiedy do wyświetlenia […]
Python: Numpy: Broadcasting na przykładach
W uczeniu maszynowym często wykonujemy operacje na macierzach (wektor to też przykład macierzy, tylko że jeden z wymiarów wynosi 1). Cchcemy takie operacje wykonywać, gdzie tylko się da przy pomocy funkcji z modułu numpy, bo tak jest efektywniej! Matematyka jest bezlitosna. Istnieją pewne określone reguły, określające warunki kiedy na macierzach można wykonywać operacje: aby dodać […]
Python: Debugowanie graficzne w Jupyter Notebook
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 […]
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 […]