Kategorie
100 days of code python

100 days of code challenge- day2. Listy, słowniki, mutowalność i debugowanie kodu

Cześć! 😀
Melduje się z wynikiem za drugi dzień. Pomyślałem, że fajnie będzie zobaczyć siłę procentu składanego. W tym celu będę pisał ile czasu poświeciłem danego dnia, a ile łącznie w tym wyzwaniu. Dlatego:
Czas poświęcony dnia 2 = 3 godziny
Łącznie poświęcony czas = 7 godziny

Tak jak już można było zobaczyć, dziś na naukę poświęciłem 2,5 godzin. Jestem zaskoczony, gdyż jest to drugi dzień z rzędu, który oscyluje bliżej górnej granicy poprzeczki, którą sobie ustaliłem.

Jestem też w lekkim szoku, gdyż w porównaniu do dnia poprzedniego dziś w 3 godziny przerobiłem 2 rozdziały, a wczoraj w 4 godziny było to 6 rozdziałów (+1 powitalny). Chociaż z drugiej strony możliwe, że jest to spowodowane tym, że na początku w dniu 1 dość dużo rzeczy było mówione o podstawach logiki operatorach i takich rzeczach, przy których nie potrzebowałem robić tylu notatek.

Za to przy obecnym dniu przerobiłem 1,5 godzin kursu i zaktualizowałem notatkę o tę wiedze. Nauczyłem się co to jest lista, słownik oraz co można z nimi zrobić i jakie są między nimi różnice.

Jakbym miał to w skrócie wyjaśnić, to lista jest zmienną, która może przechowywać wiele wartości, które są uporządkowane według indeksu od 0 do n. W lekcji było to tłumaczone jako paczka pringelsów- gdzie każdego pringelsa musisz wyjmować od góry po kolei w kolejności, w której były one zapakowane do paczki. Nie do końca zgadzam się z tym porównaniem, ale jakiś przybliżony obraz potrafi to stworzyć w głowie

W przypadku słownika Nie panuje tutaj aż taki porządek. Raczej jest to torba, do której są wrzucone różne rzeczy, ale każda z takich rzeczy ma swój identyfikator nazywany kluczem (jakby przyklejaną karteczkę z podpisem, że to są okulary i ich wartość to x).

Zarówno słownik jak i lista mogą zawierać wiele rodzajów wartości jak int, float, string inna zmienna, lista czy słownik, wartość logiczną i wiele innych.
Na owych słownikach i listach można przeprowadzać wiele operacji. Ze względu na ich mnogość nie przytoczę tu wszystkich, a co ciekawszych widzów odeśle do mojej notatki z tych lekcji (chapter 8 i 9).
Z podstawowych operacji można wymienić tworzenie pustego listy i słownika, dodawanie lub usuwanie elementów, zmiana elementu, dostanie się do elementu, etc.

Dodatkowo w tych rozdziałach była poruszana kwestia mutacyjnosci zmiennych i że lista jak i słownik w przeciwieństwie do stringu jest mutowalny. Oznacza to, że można modyfikować jej wartości w danej zmiennej (tak jakby edytować, nadpisywać, etc.)

Pokazane też było coś, co zostało tutaj nazwane quardian pattern. Jest to tak jakby wzór unikania błędów (errorów). Nic skomplikowanego po prostu dodanie pewnego filtra lub wyjątkach a w kodzie. Przy tej okazji było także pokazane, w jaki sposób można debugować swój kod. Raczej był to dość prymitywny sposób, który opierał się na dodawaniu funkcji print w miejscach, w których chcemy sprawdzić daną wartość, którą podejrzewamy o powodowanie błędu. W moim obecnym IDE znam lepszy sposób jak to można zrobić używając funkcji debugowania (taka zielona ikonka robaczka). Pozwala ona pauzować kod w miejscach podejrzanych o błąd. W trakcie takiej pauzy pokazuje wartości wszystkich zmiennych używanych w danym fragmencie kodu. Bardzo przydatna funkcja- polecam! 💪

Więcej na temat list i słowniku można znaleźć w mojej aktualizowanej notatce w rozdziale 8 i 9. Dodatkowo w tym miejscu chciałbym jeszcze raz zaprosić cię na mój Instagram , gdzie opowiadam trochę więcej relacji z danego dnia (+video 🤗).

Zanim się na dziś pożegnamy, mam dziś dla ciebie prezent- bonus! 🥳
Już nie pamiętam gdzie, ale trafiłem na taką playlistę z muzyką do programowania. Ogólnie zazwyczaj takie playlisty są dla mnie niezbyt ciekawe, ale ta faktycznie jest taka całkiem „żywa”. Aż nie chcę się kończyć i odchodzić od pracy 😂

Dziękuję, że ze mną jesteś!
Jeśli jest coś, o co chciałbyś mnie zapytać, pisz śmiało tu w komentarzu, jak i na Instagramie. Odpowiadam na wszystkie wiadomości 😉
Do zobaczenia! 💪🎉

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *