**Podstawy Pythona dla Data Science

Na dzisiejszej lekcji zanurzymy się w podstawy języka Python, kluczowego narzędzia dla każdego Data Scientist. Poznamy podstawowe typy danych, zmienne, operatory oraz sposoby manipulacji danymi, abyście mogli rozpocząć swoją przygodę z analizą danych.

Learning Objectives

  • Zrozumieć i potrafić zdefiniować różne typy danych w Pythonie (np. liczby całkowite, zmiennoprzecinkowe, łańcuchy znaków, wartości logiczne).
  • Tworzyć i używać zmienne do przechowywania danych.
  • Wykorzystywać podstawowe operatory arytmetyczne i logiczne do wykonywania obliczeń i porównań.
  • Rozumieć różnice między typami danych i wiedzieć, jak je konwertować.
  • Napisać proste skrypty w Pythonie, wykorzystujące poznane koncepcje.

Lesson Content

Wprowadzenie do Pythona dla Data Science

Python to wszechstronny język programowania, idealny dla nauki o danych. Jest czytelny, ma bogatą bibliotekę narzędzi (np. NumPy, Pandas, Scikit-learn) i wspiera efektywną pracę nad projektami MLOps. W tym module skupimy się na fundamentach, które umożliwią Wam późniejszą pracę z bardziej zaawansowanymi koncepcjami.

Typy Danych

Python posiada kilka podstawowych typów danych, które są fundamentem dla przechowywania informacji. Najważniejsze z nich to:

  • Liczby całkowite (int): Reprezentują liczby bez części ułamkowej, np. 10, -5, 0.
  • Liczby zmiennoprzecinkowe (float): Reprezentują liczby z częścią ułamkową, np. 3.14, -2.5, 0.0.
  • Łańcuchy znaków (str): Reprezentują tekst, otoczony pojedynczymi lub podwójnymi cudzysłowami, np. 'Hello', "Data Science".
  • Wartości logiczne (bool): Reprezentują prawdę (True) lub fałsz (False). Często wynik operacji porównania.

Przykład:

liczba_calkowita = 15
liczba_zmiennoprzecinkowa = 3.14
tekst = "Python jest super!"
prawda = True

Zmienne

Zmienne to nazwane pojemniki, w których przechowujemy dane. Deklarujemy je, nadając im nazwę i przypisując wartość za pomocą znaku =. Nazwy zmiennych powinny być opisowe i zaczynać się od litery lub znaku podkreślenia (_). Python rozróżnia wielkość liter (case-sensitive).

Przykład:

wiek = 30  # Zmienna przechowująca wiek
pi = 3.1415  # Zmienna przechowująca wartość pi
imie = "Anna"  # Zmienna przechowująca imię

Operatory

Operatory służą do wykonywania operacji na danych. Podstawowe operatory to:

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

Przykład:

wynik_dodawania = 5 + 3  # Wynik: 8
czy_wieksze = 10 > 5  # Wynik: True
warunek_logiczy = True and False # Wynik: False

Konwersja Typów Danych

Czasami musimy konwertować dane z jednego typu na inny. Python udostępnia w tym celu funkcje:

  • int() - konwertuje na liczbę całkowitą.
  • float() - konwertuje na liczbę zmiennoprzecinkową.
  • str() - konwertuje na łańcuch znaków.
  • bool() - konwertuje na wartość logiczną.

Przykład:

liczba_jako_tekst = "10"
liczba_int = int(liczba_jako_tekst) # Konwersja na int
print(liczba_int + 5) # Wyświetli 15

Deep Dive

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

Data Scientist — Rozwój Produkcji i DevOps (MLOps) - Dzień 2: Python dla Początkujących - Rozszerzone Materiały

Witamy na drugim dniu naszej przygody z Pythonem! Dziś rozszerzymy wiedzę zdobytą na poprzedniej lekcji, zagłębiając się w bardziej zaawansowane aspekty podstaw języka. Przygotujcie się na ekscytujące ćwiczenia i praktyczne zastosowania!

Deep Dive: Zanurzamy się Głębiej w Typy Danych i Operacje

Pamiętacie, jak mówiliśmy o typach danych? Dzisiaj przyjrzymy się, jak Python radzi sobie z nimi "pod maską". Zrozumienie tego pomoże wam unikać częstych błędów i pisać bardziej wydajny kod.

  • Dynamiczne Typowanie: Python jest językiem dynamicznie typowanym. Oznacza to, że typ zmiennej jest określany w trakcie działania programu (w runtime), a nie podczas kompilacji. To daje elastyczność, ale wymaga od nas ostrożności. Np. zmienna, która początkowo przechowuje liczbę całkowitą, może potem przyjąć łańcuch znaków.
  • Konwersja Typów (Casting): Widzieliście już, jak konwertować typy danych, np. z `int` na `float`. Ale co się dzieje, gdy próbujemy skonwertować coś niemożliwego? Wypróbujcie w konsoli: `int("abc")`. Python zgłosi błąd `ValueError`.
  • Operatory Logiczne i Kolejność Operacji: Przypomnijmy sobie, jak działają operatory logiczne (`and`, `or`, `not`). Pamiętajcie o kolejności wykonywania operacji (PEMDAS/BODMAS). Np. `2 + 3 * 4` da 14, bo mnożenie jest wykonywane przed dodawaniem.
  • Formatowanie Łańcuchów Znaków (f-strings): To elegancki sposób na wstawianie zmiennych do łańcuchów znaków. Przykład: `imie = "Jan"; wiek = 30; print(f"Mam na imię {imie} i mam {wiek} lat.")`.

Bonus Exercises: Praktyka Czyni Mistrza!

Sprawdźmy, co zapamiętaliście. Spróbujcie rozwiązać poniższe zadania:

  1. Kalkulator Walutowy: Napisz skrypt, który przelicza kwotę w złotych na euro, korzystając z aktualnego kursu. Kurs możecie zdefiniować jako zmienną. Wykorzystajcie formatowanie f-strings do eleganckiego wyświetlenia wyniku.
  2. Sprawdzanie Parzystości: Napisz skrypt, który pobiera od użytkownika liczbę i sprawdza, czy jest parzysta, czy nieparzysta. Użyjcie operatora modulo (`%`). Wyświetlcie odpowiedni komunikat.
  3. Tworzenie Prostego Profilu: Stwórzcie zmienne przechowujące imię, nazwisko, wiek, i miasto zamieszkania. Następnie, używając f-strings, stwórzcie krótki profil osoby, np. "Nazywam się Jan Kowalski, mam 30 lat i mieszkam w Krakowie."

Real-World Connections: Python w Akcji!

Gdzie możemy wykorzystać poznane umiejętności w prawdziwym świecie?

  • Automatyzacja Zadań: Wyobraźcie sobie automatyczne generowanie raportów z danymi finansowymi. Python może pobierać dane z różnych źródeł, przetwarzać je i generować spersonalizowane raporty.
  • Analiza Danych: Podstawowe operacje arytmetyczne i logiczne są fundamentem analizy danych. Pozwalają na czyszczenie danych, identyfikowanie wzorców i przygotowywanie danych do bardziej zaawansowanych analiz.
  • Tworzenie Skryptów: Proste skrypty Pythona mogą zautomatyzować wiele codziennych zadań, np. konwersję plików, zarządzanie plikami, czy pobieranie danych z internetu. Wyobraźcie sobie skrypt, który automatycznie pobiera kursy walut z NBP!

Challenge Yourself: Wyjdź Poza Schemat!

Próbujcie swoich sił w bardziej zaawansowanych zadaniach:

  • Kalkulator z Obsługą Błędów: Rozbudujcie kalkulator walutowy, dodając obsługę błędów. Co się stanie, jeśli użytkownik wpisze tekst zamiast liczby? Wykorzystajcie instrukcję `try...except` do przechwytywania wyjątków.
  • Generator Hasła: Napiszcie skrypt, który generuje losowe hasło o określonej długości, zawierające litery, cyfry i znaki specjalne. (Podpowiedź: Wykorzystajcie moduł `random`).

Further Learning: Co Dalej?

Rozwijajcie swoją wiedzę i umiejętności:

  • Biblioteki Pythona: Zacznijcie poznawać biblioteki takie jak `numpy` (do obliczeń numerycznych) i `pandas` (do analizy danych).
  • Struktury Danych: Zanurzcie się w listy, krotki, słowniki i zbiory. To kluczowe elementy w organizacji i manipulacji danymi.
  • Kursy Online: Wykorzystajcie platformy takie jak Codecademy, Udemy, czy Coursera, aby kontynuować naukę. Szukajcie kursów "Python for Data Science".
  • Oficjalna Dokumentacja Pythona: Zacznijcie korzystać z oficjalnej dokumentacji języka Python (python.org) jako źródła wiedzy.

Interactive Exercises

Zadanie 1: Zmienne i Operatory Arytmetyczne

Utwórz zmienne dla wieku, wzrostu (w metrach) i ceny produktu. Wykonaj operacje arytmetyczne: oblicz średnią wzrostu w rodzinie (załóżmy 3 osoby) oraz oblicz cenę produktu po dodaniu 23% VAT.

Zadanie 2: Łańcuchy Znaków i Konwersja Typów

Zdefiniuj zmienną przechowującą imię i nazwisko. Następnie, użyj konwersji typów, aby sprawdzić, czy długość imienia jest większa od wartości reprezentującej Twój wiek (wprowadź wiek jako liczbę). Wyświetl wynik.

Zadanie 3: Operatory Porównania

Zdefiniuj dwie zmienne: wartość_1 = 25 oraz wartość_2 = 10. Wykonaj operacje porównania: sprawdź, czy wartość_1 jest większa niż wartość_2, oraz czy wartość_2 jest równa 10. Wyświetl wyniki.

Zadanie 4: Praca w zespole (Dyskusja)

Porozmawiaj w parach lub w małych grupach o tym, gdzie w realnym świecie można wykorzystać poznane typy danych i operacje. Podziel się przykładami, które uważasz za interesujące.

Knowledge Check

Question 1: Który z poniższych typów danych reprezentuje tekst?

Question 2: Co oznacza operator `//`?

Question 3: Jaką funkcję wykorzystujemy do konwersji na liczbę zmiennoprzecinkową?

Question 4: Który operator oznacza 'równa się' w Pythonie?

Question 5: Która z poniższych zmiennych jest poprawna?

Practical Application

Wyobraź sobie, że pracujesz w sklepie internetowym. Potrzebujesz napisać skrypt, który obliczy rabat na produkt (np. 10% dla stałych klientów) i wyświetli nową cenę. Dodatkowo, skrypt powinien sprawdzać czy klient jest zalogowany (bool) i w zależności od tego wyświetlać odpowiedni komunikat.

Key Takeaways

Next Steps

Przygotuj się na następną lekcję, która będzie dotyczyć struktur danych: list, krotek i słowników. Przejrzyj przykłady i spróbuj rozwiązać proste zadania z listami.

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)