**Podstawy Pythona dla Data Science

W dzisiejszej lekcji zanurzymy się w podstawy języka Python, kluczowego narzędzia dla każdego inżyniera danych i data scientist. Poznamy podstawowe typy danych, operatory i struktury kontroli, kładąc fundament pod przyszłą pracę z danymi.

Learning Objectives

  • Rozpoznać i zdefiniować podstawowe typy danych w Pythonie (int, float, str, bool).
  • Wykorzystywać operatory arytmetyczne, logiczne i porównawcze w Pythonie.
  • Tworzyć i używać zmiennych do przechowywania danych.
  • Stosować instrukcje warunkowe (if, elif, else) i pętle (for, while) do kontrolowania przepływu programu.

Lesson Content

Wprowadzenie do Pythona i IDE

Python to wszechstronny język programowania, idealny dla data science i inżynierii danych. Jest czytelny i łatwy do nauki. Do pisania kodu będziemy używać środowiska IDE (Integrated Development Environment), np. PyCharm, VS Code lub Google Colab. To środowisko pomaga w pisaniu, uruchamianiu i debugowaniu kodu. Dla celów edukacyjnych, możemy również korzystać z interpreterów online, takich jak replit.com, które nie wymagają instalacji.

Podstawowe Typy Danych

Python obsługuje kilka podstawowych typów danych:

  • int (liczby całkowite): 10, -5, 0
  • float (liczby zmiennoprzecinkowe): 3.14, -2.5
  • str (łańcuchy znaków): "Hello", 'Python'
  • bool (wartości logiczne): True, False

Przykład: x = 10 (int), pi = 3.14 (float), imie = "Anna" (str), czy_aktywny = True (bool)

Funkcja type() pozwala sprawdzić typ zmiennej: print(type(x))

Operatory i Zmienne

Operatory to symbole, które wykonują operacje na danych.

  • Arytmetyczne: + (dodawanie), - (odejmowanie), * (mnożenie), / (dzielenie), // (dzielenie całkowite), % (modulo, reszta z dzielenia), ** (potęgowanie).
  • Porównawcze: == (równa się), != (nie równa się), > (większe), < (mniejsze), >= (większe lub równe), <= (mniejsze lub równe).
  • Logiczne: and (i), or (lub), not (nie).

Zmienne to nazwane miejsca w pamięci, gdzie przechowujemy dane. Definiujemy je używając znaku =. Nazwy zmiennych powinny być opisowe, np. suma_wartosci = 10 + 5.

Instrukcje Warunkowe: if, elif, else

Instrukcje warunkowe pozwalają na wykonanie różnych bloków kodu w zależności od spełnienia warunku.

if warunek:
# kod do wykonania jeśli warunek jest prawdziwy
elif inny_warunek:
# kod do wykonania jeśli poprzedni warunek jest fałszywy, a ten jest prawdziwy
else:
# kod do wykonania jeśli żaden z powyższych warunków nie jest prawdziwy

Przykład:
wiek = 25
if wiek >= 18:
print("Osoba jest pełnoletnia.")
else:
print("Osoba jest niepełnoletnia.")

Pętle: for i while

Pętle pozwalają na wielokrotne wykonanie bloku kodu.

  • for: Używana do iteracji po sekwencjach (listach, łańcuchach znaków, zakresach).
    for i in range(5):
    print(i) # Wyświetli liczby od 0 do 4

  • while: Wykonuje blok kodu tak długo, jak warunek jest prawdziwy.
    licznik = 0
    while licznik < 3:
    print("Licznik:", licznik)
    licznik += 1

Deep Dive

Explore advanced insights, examples, and bonus exercises to deepen understanding.

Rozszerzenie Lekcji 2: Python - Inżynieria Danych i ETL

Witaj! Wspaniale, że przebrnąłeś/aś przez pierwsze kroki z Pythonem. Dziś pogłębimy Twoją wiedzę, wprowadzając bardziej zaawansowane koncepty i pokazując, jak te podstawy przekładają się na praktyczne zastosowania w świecie danych.

Deep Dive: Typy Danych i Operacje - Więcej Niż Myślisz!

Pamiętasz, że nauczyliśmy się o int, float, str i bool? W porządku, ale Python ma w zanadrzu jeszcze kilka ciekawostek.

1. Kompleksowe Typy Danych: Oprócz prostych typów, Python pozwala na operacje na liczbach zespolonych (complex). Wykorzystywane w zaawansowanych obliczeniach, np. w analizie sygnałów.

            
            # Przykład liczby zespolonej
            a = 2 + 3j
            b = 1 - 1j
            print(a + b)  # Wynik: (3+2j)
            
        

2. Właściwości Stringów: Stringi w Pythonie to nie tylko tekst. Możemy je formatować, przycinać, dzielić i łączyć w wiele różnych sposobów.

            
            tekst = "  Python jest super!  "
            print(tekst.strip())  # Usuwa białe znaki na początku i końcu
            print(tekst.lower())   # Zamienia na małe litery
            print(tekst.split(" ")) # Dzieli string na listę po spacji
            
        

3. Listy vs. Krotki (Tuples): Listy są zmienne (mutable), a krotki niezmienne (immutable). Krotki są szybsze i zajmują mniej pamięci, co jest ważne w przypadku dużych zbiorów danych.

            
            lista = [1, 2, 3]
            lista.append(4)
            print(lista) # Wynik: [1, 2, 3, 4]

            krotka = (1, 2, 3)
            # krotka.append(4)  # Spowoduje błąd!
            print(krotka) # Wynik: (1, 2, 3)
            
        

Bonusowe Ćwiczenia: Ugruntuj Swoją Wiedzę!

Ćwiczenie 1: Formatowanie Stringów

Napisz program, który pobiera imię i wiek użytkownika, a następnie wyświetla sformatowany tekst: "Cześć [Imię]! Masz [Wiek] lat. W przyszłym roku będziesz miał/a [Wiek+1] lat."

            
            # Twój kod tutaj
            
        

Ćwiczenie 2: Logika Warunkowa i Pętle

Stwórz program, który prosi użytkownika o wprowadzenie liczby. Jeśli liczba jest parzysta, wyświetla "Liczba parzysta". Jeśli jest nieparzysta, wyświetla "Liczba nieparzysta". Użyj pętli for do iteracji po liście liczb od 1 do 10.

            
            # Twój kod tutaj
            
        

Real-World Connections: Python w Akcji!

Zastanawiasz się, gdzie to wszystko wykorzystać? Inżynierowie danych używają Pythona do:

  • Eksploracji Danych: Sprawdzanie jakości danych (np. czy są puste wartości), statystyki.
  • Automatyzacji ETL: Ładowanie, transformacja i ekstrakcja danych z różnych źródeł (np. baz danych, plików CSV, API).
  • Analizy i Wizualizacji Danych: Przygotowanie danych do raportów i dashboardów.
  • Przetwarzania Danych Streamingowych: Obsługa danych w czasie rzeczywistym.

Wyobraź sobie, że pracujesz nad analizą danych dotyczących cen nieruchomości. Musisz oczyścić dane z błędów, wyliczyć średnią cenę na metr kwadratowy, a następnie zautomatyzować ten proces dla codziennych aktualizacji. To właśnie zadanie dla Pythona!

Challenge Yourself: Podejmij Wyzwanie!

Spróbuj napisać program, który pobiera od użytkownika listę liczb oddzielonych przecinkami (np. "1,2,3,4,5"). Następnie program powinien:

  1. Przekształcić ciąg znaków na listę liczb całkowitych.
  2. Obliczyć sumę wszystkich liczb.
  3. Wyświetlić średnią arytmetyczną.

Further Learning: Dokąd Dalej?

Chcesz dowiedzieć się więcej? Oto kilka sugestii:

  • Biblioteki Python dla Danych: Zacznij od nauki bibliotek takich jak pandas i numpy.
  • Praca z Plikami: Jak wczytywać i zapisywać dane z plików CSV, JSON i innych formatów.
  • Funkcje i Moduły: Uporządkuj swój kod, tworząc funkcje i organizując go w moduły.
  • Testowanie Kodu: Jak pisać testy, aby upewnić się, że Twój kod działa poprawnie.

Pamiętaj: praktyka czyni mistrza! Im więcej kodujesz, tym lepiej poznajesz Pythona.

Interactive Exercises

Zadanie 1: Kalkulator

Napisz program, który pyta użytkownika o dwie liczby i operator (+, -, *, /), a następnie wykonuje odpowiednie działanie i wyświetla wynik. Obsłuż błąd dzielenia przez zero.

Zadanie 2: Sprawdzanie Parzystości

Napisz program, który pyta użytkownika o liczbę i sprawdza, czy jest parzysta czy nieparzysta, używając instrukcji `if` i operatora `%` (modulo).

Zadanie 3: Tabliczka Mnożenia

Napisz program, który wyświetla tabliczkę mnożenia od 1 do 10 dla danej liczby (wprowadzonej przez użytkownika) za pomocą pętli `for`.

Zadanie 4: Refleksja nad Kodem

Przeanalizuj kod z poprzednich ćwiczeń. Jakie typy danych zostały użyte? Jakie operatory? Jakie instrukcje kontroli przepływu? Zapisz swoje wnioski.

Knowledge Check

Question 1: Który z poniższych typów danych reprezentuje liczbę zmiennoprzecinkową?

Question 2: Który operator służy do dzielenia całkowitego?

Question 3: Jakiego słowa kluczowego używamy do definiowania instrukcji warunkowej?

Question 4: Która z poniższych instrukcji jest poprawną pętlą `for`?

Question 5: Co robi operator % (modulo)?

Practical Application

Wyobraź sobie, że pracujesz w sklepie internetowym. Potrzebujesz programu, który będzie liczył rabaty dla klientów w zależności od wartości zamówienia. Napisz fragment kodu, który używa instrukcji warunkowej `if-elif-else` do obliczenia rabatu.

Key Takeaways

Next Steps

Przed następną lekcją zainstaluj środowisko Python (np. PyCharm, VS Code) lub przygotuj się do pracy w Google Colab. Przeczytaj wstęp do list i słowników w Pythonie.

Your Progress is Being Saved!

We're automatically tracking your progress. Sign up for free to keep your learning paths forever and unlock advanced features like detailed analytics and personalized recommendations.

Next Lesson (Day 3)